大家在淘宝购买0.96寸和1.3寸oled屏时,商家分享的源代码里仅在头文件oled.h中有OLED_DrawPoint(u8 x,u8 y,u8 t)定义,却在oled.c中没有相应的申明,此外在2022电赛官方网页资料下载得来的oled库中也是一样。终于在我费尽心机,查找大量别的大佬的代码,自己模仿写了一个出来,并得到证实。
用的msp432p401r单片机,使用2022电赛官网下载的库,
直接在官方库的oled.c中加入下面这段代码就可以用了
void OLED_DrawPoint(unsigned char x,unsigned char y)
{
static unsigned char data1;
data1=(unsigned char)(0x01<<((y%8)));
OLED_Set_Pos(x, (unsigned char)(y >> 3));
OLED_WR_Byte((unsigned char)(0xb0 + (y >> 3)),0);
OLED_WR_Byte((unsigned char)(((x & 0xf0) >> 4) | 0x10),0);
OLED_WR_Byte((unsigned char)((x & 0x0f) | 0x00),0);
OLED_WR_Byte(data1,1);
}
示范效果如图
1.下载商家分享的源代码文件,或者去2022电赛官网搜索相应oled屏幕资料,其实也就是流传最广的中景园科技所写的代码文件。
2.然后建议复制粘贴进CCSProject,用Import也可以,但是后来的文件位置就不能改动了。
3.直接打开并在oled.c文件中插入上面的代码,应该在任意位置都可以

然后就可以在你的main.c(我自己这里重命名为Pack06了)中调用啦!
4.在main.c文件中要记得包含driverlib库,并且引用oled.h文件。driverlib库可以直接在msp432也就是Ti的官网下载,优快云上也有很多导入driverlib库的教程
5.注意初始化,需要有两个初始化函数哦
6.在主函数中直接调用就可以啦!横坐标x范围在0~127,纵坐标y范围在0~63。
7.原函数还有一个参数u8 t,用来选择明暗度的,我直接给删掉了,不然不会写了,所以大家要记得在oled.h文件中把定义中的u8 t删掉哦!菜狗一只,多多包涵!

附工程文件:https://pan.baidu.com/s/1DpRYSPhzRpEKUSeJwPGFmw
提取码:0929
本人的第一篇优快云文章,希望有所帮助!
本文介绍如何为0.96寸和1.3寸OLED屏的库补全缺失的绘点函数OLED_DrawPoint。通过添加自定义代码到oled.c文件中,实现对像素点的有效绘制,适用于msp432p401r单片机。

被折叠的 条评论
为什么被折叠?



