乘风飞扬
发表于 2025-4-23 17:58:04
附件例程将U8g2移植到Ai805U实验箱,供参考。
Ai805U实验箱的OLED12864接口使用P3口驱动SPI或者I2C:
如果使用SPI接口驱动的话,注意需要交换MOSI与MISO脚:
显示效果:
陈家乐
发表于 2025-4-24 08:27:23
乘风飞扬 发表于 2025-4-23 15:58
附件例程将U8G2移植到AI805U试验箱,供参考。
AI805U试验箱的OLED接口使用P3口驱动SPI或者I2C:
行
机灵小老鼠
发表于 7 天前
今天比较并测试了一下原来屠龙刀例程 和 乘风给出的A8051U的例程,
原来不成功的原因只有一个,就是屠龙刀例程 中SPI.c 中 PLL_Init() 函数中,
设置了 SPI时钟/2(52.5M/2=26.25M) 太快了,降低到13.125MHz就可以了。
SPI使用了5V电平驱动,按照STC32G12K28芯片文档要求:
SPI的输出频率不要高于20M(VCC=5.0V);
估计是P2端口上的电阻+指示灯影响了SPI引脚的操作速度!
所以,以后在实验板上,碰到类似“复用”的引脚,注意需要降速处理!
最后,感谢乘风的例程指引!
机灵小老鼠
发表于 7 天前
顺便再多说一句,u8g2 使用了回调函数的机制,
像我这样的单片机程序员,从前就没有接触过这种编程,
一开始还是很难理解。
后来在网上学习了2天,才知道 回调函数 编程原来是
windows编程中针对消息驱动 编程的经典方法,
学过计算机软件的应该都知道,其他电子工程师还是要补补课的。
陈家乐
发表于 6 天前
机灵小老鼠 发表于 2025-4-25 21:18
顺便再多说一句,u8g2 使用了回调函数的机制,
像我这样的单片机程序员,从前就没有接触过这种编程,
一开 ...
我也只是学生,现在只能用Arduino中的U8G2库进行开发类似于SSD1306的OLED屏幕,但是我没深究过U8G2中的机制,大佬以后有什么新发现,还请赐教{:ciya:}
机灵小老鼠
发表于 6 天前
你客气了,我也是搞电子的,对软件也是一知半解,一起学习交流。
机灵小老鼠
发表于 4 天前
又前进了一小步。
今天终于在原来例程的基础上, 进行更改,使用软件操作IO的方式,实现了液晶的驱动和显示。
下一步,继续阅读u8g2库的各个文件。了解其各个API函数的功能。
机灵小老鼠
发表于 4 天前
和硬件SPI+DMA方式相比,液晶显示相同的图形的速度慢了许多。
陈家乐
发表于 3 天前
机灵小老鼠 发表于 2025-4-28 17:24
和硬件SPI+DMA方式相比,液晶显示相同的图形的速度慢了许多。
和什么方式比?
机灵小老鼠
发表于 3 天前
IO软件模拟SPI方式 和 硬件SPI方式 以及 硬件SPI+DMA方式 相比