嵌入式技术论坛
直播中

siyugege

9年用户 767经验值
擅长:可编程逻辑
私信 关注
[问答]

RT-Thread ATF4芯片支持包未适配rt_pin_get()函数是何原因

rt thread studio + AT32F4 Chip_Support_Packagesks 0.0.9(2022-10-14)

硬件:WeActStudio.BlackPill (AT32F403ACUG7) + ST7789 LCD

在使用硬件SPI1驱动ST7789 LCD时,使用rt-thread的PIN设备,屏幕无法点亮;

硬件不变,在rt thread studio中不使用PIN设备,改为全部使用AT32的库函数,屏幕可正常显示。

经分析,发现是该版本( 0.0.9 (2022-10-14) )的芯片支持包,未实现 rt_pin_get() 函数。

导致使用rt_pin_get()函数时无法得到正确的PIN num(没任何报错提示)。

不使用rt_pin_get()函数,而采用宏 GET_PIN() 获取Pin num,从而驱动ST7789是可以正常工作的。

下图是rt-thread pin.h中的定义:

2.jpg

下图是F403a_407文件夹下drv_gpio.c中的实现:

2.jpg

回帖(1)

王波

2023-1-9 15:31:24
两种方法可以,使用宏获取编号,使用API获取。这个是后来加的ops,有的驱动没有同步对接。你也可以自己实现一下这个ops驱动

2.jpg
举报

更多回帖

发帖
×
20
完善资料,
赚取积分