OLED屏幕花屏的原因(I2C+DMA)

OLED屏幕在通电后花屏,呈雪花状。
在网上查询原因,开始了尝试:
1.可能是由于杜邦线的问题,可能接触不良导致,但更换了杜邦线依然花屏。
2.可能是OLED屏幕问题。因为经常在工作,之前听说OLED屏幕在运行过程中长时间的发亮容易导致烧屏(不知道是不是真的),但是更换了屏幕问题依旧存在。
3.程序问题,可能是程序跑飞了。但是进行仿真时发现数据正常,程序正常运行。
4.初始化问题。由于我才用的是FREERTOS+I2C+DMA进行的配置屏幕,所以为了追求高刷(40帧每秒)的前提下,才用的是DMA进行的数据传输,在初始化屏幕的时候需要将行设置进行一个更改,将

OLED_WR_Byte(0x20,OLED_CMD);//-Set Page Addressing Mode (0x00/0x01/0x02)

即地址0x20的命令设置为0x00(刷新模式为整页刷新)
更改完设置后显示屏正常显示~
(当然有时候如果屏幕卡住不显示数据的时候可以先拔下电源vcc,然后再插上,重启单片机看看有没有用)
OLED屏幕花屏的原因(I2C+DMA)_第1张图片
配上板球,数据反馈好拍档~

你可能感兴趣的:(stm32,c语言)