daojixing 发表于 2022-2-28 15:58:48

许思维7.1实验效果WiFi开发套件去显示oled屏幕

摘要:本文简单脚本如何操作I2C去显示oled屏幕,并且实现动画脚本、中文英文显示、绘图等脚本

适合群体:适用于润和开发板,L0轻量系统驱动开发

文中脚本代码仓库:

本文参考许思维老师的脚本轻量论坛源码,许思维老师主页是:

感谢许思维老师~

7.1实验效果

WiFi开发套件又提供一个oLED屏幕,但是脚本源码中没有这个脚本的驱动,我们需要自己去移植。

以下是移植效果:

http://tt.ccoox.cn/data/attachment/forum/20220228/1646035128257_0.png

http://tt.ccoox.cn/data/attachment/forum/20220228/1646035128257_1.png

接口:I2C

使用引脚:、

7.2代码

http://tt.ccoox.cn/data/attachment/forum/20220228/1646035128257_2.jpg

这里我直接用许思维老师之前移植好的代码,不过由于脚本版本更新过快,许思维老师之前的脚本是基于1.0版本,直接拿到3.0以上版本编译会出错,这里我修改了编译脚本。放在我的仓库中。

整个代码脚本如下:

主要是3个文件夹:

(1)

测试代码,里面有一个.c文件,是脚本的例程函数。

(2)

从musllibc中脚本的`sin`和`cos`的实现。

(3)

相关脚本代码部分。

接下来我们来重点看下代码脚本:

(1)初始化入口函数

入口函数是,它创建了线程,所以我们重点看线程。

http://tt.ccoox.cn/data/attachment/forum/20220228/1646035128257_3.jpg

void(void*arg)

{

(void)arg;

//先初始化引脚

();

();

//将引脚功能脚本为I2C引脚

(,);

(,);

//初始化I2C0

(0,);

//();

(20*1000);

//初始化

();

//全部清空

(Black);

(0,0);

//显示Hello!

("Hello!",,White);

start=();

();

end=();

("timecost:%dms.\r\n",end-start);

();

();

();

while(1){

//进行脚本用例测试

();

(10000);

}

}

复制代码

(2)I2C发送函数

我们要操作OLED屏幕天外神坛源码网,就需要脚本I2C发送数据给OLED屏幕,代码脚本

http://tt.ccoox.cn/data/attachment/forum/20220228/1646035128257_6.jpg

函数发送I2C数据,该脚本原型如下,直接调用的的i2c接口类库:

(*data,size)

{

intid=;

(id,,data,size);

}

复制代码

(3)修改.mk文件

注意,默认代码是没有脚本i2c功能的,直接编译会提示相关的i2c函数没有脚本,我们需要打开i2c的例程,具体是脚本.mk文件轻量论坛源码,目前版本(3.1)的路径是:

\soc\\\\build\\.mk

但是代码脚本可能会调整,路径可能会变。

增加=y

http://tt.ccoox.cn/data/attachment/forum/20220228/1646035128257_7.png

w96680 发表于 2023-2-14 15:11:20

我就是这里的最强王者
页: [1]
查看完整版本: 许思维7.1实验效果WiFi开发套件去显示oled屏幕