#申请原创# @安小芯
先看演示视频
开源地址OLED库: 用于国民技术n32g430的oled图形库 (gitee.com)
代码移植自https://github.com/hello-myj/stm32_oled
用于12864oled屏幕的显示应用,原作者提供了在stmf103c8t6平台的硬件IIC和硬件SPI驱动方式。我移植了硬件IIC,并添加了软件IIC驱动方式.
连接引脚:
I2C:PB6 -- SCL; PB7 -- SDA
图形库文件说明:
draw_api.h:所需的各类api绘图方法
oled_config.h:配置o文件,用于配置oled屏
oled_config.c:配置文件所需的接口
oled_driver.c:oled屏驱动
oled_draw.c:各类绘图方法
oled_basic.c:底层和算法支撑
oled_color.c:颜色控制
oled_buffer.c:屏幕缓冲区和临时缓冲区
oled_font.c:字体
oled_bmp.c:bmp取模图形存放位置,
oled_debug.c可调用OledPrintf方法,效果与printf一致。
移植心得:
本来以为移植,挺简单的,都是用函数封装起来的,用同样功能的函数替换就好了。但事实比我想的复杂不少。首先系统时钟不匹配,stm32f103最高是72Mhz,n32g430是128Mhz。对于GPIO,n32库和stm32库参数还是有些许不同。一些宏定义都不同,都要仔细比对。但是最重要的还是读懂代码,开始因为忽略了systitk的一些配置,导致无法显示,浪费大量时间
|