【国民技术N32项目移植】ssd1306项目移植

【国民技术N32项目移植】ssd1306项目移植

国民技术和RT-Thread合作,于是做了一个基于RT-Thread框架开发一个可视化界面,例如接口有GPIO、UART、I2C等等。

1.芯片资源

接口描述
GPIO点灯,熄灯
UART串口,finsh
I2Cssd1306可视化

GPIO怎么接

点亮LED灯是GPIO的基础功能之一。如何让LED闪烁。

引脚序号描述
PB5D3点灯,熄灯
PA8D1点灯,熄灯

UART怎么接

UART是默认选UART1,如何让单片机发送接收消息。

引脚序号描述
PA9RXD串口接收
PA10TXD串口发送

I2C怎么接

I2C是默认选I2C1,如何让单片机连接SSD1306屏幕。

引脚序号描述
PB8SCLKI2C时钟
PB9SDAI2C读写数据

2.移植实操和过程总结

  • 1、N32G4FR在RT-Thread上正常运行
    平台上可以选择VS CODE 或者是Keil5,我选择前者。
    需要的工具:
    vscode
    arm-eabi-none-gcc(大多数是C语言)
    EIDE
    烧录工具:pwlink、swd,等
    移植库包(SDK、Core,Example等等)

怎么搭建开发环境,传送门

总结:在过程中搭建环境或者移植中,遇到一些困难,只要认真解决,在群上多问问,多动脑子,多多动手编程,这样会发现原来是这样的,我怎么没想到~

  • 2、N32G4FR在finsh上正常运行

FinSH主要用于调试、查看系统信息,也支持敲代码,不再是只看而无法输入代码。
用户在控制终端输入命令,控制终端通过通信协议的方式将命令传给N32G4FR FinSH,而FinSH会读取设备输入命令,解析并执行输出回应,将结果显示在控制终端上。
本文以串口UART1作为FinSH的输入输出端口与 PC 进行通信,描述如何在 N32G4FR开发板上实现 FinSH shell 功能。
在 RT-Thread Nano 上添加 FinSH 组件,实现FinSH功能需要开启路径:rt-thread/components/finsh,添加头文件路径和源文件。

  • 3、N32G4FR在SSD1306上正常运行

SSD1306 IIC读写时序

在这里插入图片描述

SSD1306 INIT初始化流程

在这里插入图片描述

基于RT-Thread实现,OLED的I2C驱动都是自己修改,因为使用硬件IIC不能与库兼容起来,如果需要兼容则需要修改源码,目前已实现。其他人开发的库,包括I2C和SPI,但我只是删除了SPI函数,目前正常。
我选择RT_USING_I2C,且设置I2C1,速率就默认好了。

在rtconfig.h上面编辑

copy Previous file to this project, called rtconfig.h.

add other functions, such as ~~~~

#define RT_USING_I2C
#define RT_USING_I2C2 //can choice RT_USING_I2C1 or RT_USING_I2C3
#define RT_USING_RTC  // update date, but this isn't what is needed.
#define RT_USING_SOFT_RTC  // can't need this
//last two lines can be commented.
library nameurl
RTT_SSD1306传送门

rtt-ssd1306 API使用

3.作品代码与演示视频

代码

我上传代码,在github网址/example/02SSD1306,就是SSD1306开源地址,其他项目,欢迎浏览。
传送门

RUN TEST

运行测试视频

ssd1306

\

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燃夏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值