完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
应该还是I2C通信的问题,你定义BSP_USING_I2C0,以及I2C的管脚了吗? 不过我看了一下,GD的BSP应该是有问题的,主要如下: 1.工程目录下,drivers文件夹下是没有drv_soft_i2c.c文件的,SConscript文件中也没有添加该文件的选项; 2.在官方仓库中,GD32450的BSP中是有drv_soft_i2c.c文件的,而且SConscript文件中也有对应的选项; 建议: 1.可以在官方仓库下载drv_soft_i2C.c以及drv_soft_i2c.c文件,并放到工程目录下的drivers文件夹中。 2.同时修改一下drivers下的SConscript文件,参考下图添加语句,这样才能把软件模拟I2C的驱动添加进来能用。 3.另外要在board.h中定义BSP_USING_I2C0,以及I2C0的管脚. 上述几个步骤可以操作试一下,I2C0才是正常的。 |
|
|
|
看了一下,原来下面这个旧的GD32450的BSP没有i2C的驱动,上边这个新的BSP增加了。应该是studio中的SDK还没有更新到最新的。 不过按照上面说的方法也可以用。 |
|
|
|
我是MDK的project的,需要增加SHT3x的测温功能,想通过RT studio配置移植过来。 从网上下载了drv_soft_i2c.c,并且board.c也配置了BSP_USING_I2C0。 但是drv_soft_i2c.c报了几个错误 |
|
|
|
这个应该是个bug了,drv_soft_i2c.h这个文件中有定义,但是定义有错误,你手动改一下
|
|
|
|
|
|
|
|
看一下你board.h中的BSP_USING_I2C0及其管脚是怎么定义的,是否GET_PIN 使用错误?参考如下:
#define BSP_USING_I2C0 #define BSP_I2C0_SCL_PIN GET_PIN(B, 5) #define BSP_I2C0_SDA_PIN GET_PIN(B, 6) |
|
|
|
|
|
|
|
看了一下,这个BSP并没有支持PIN设备驱动,所以GET_PIN函数是无法使用的。要用的话还得移植PIN设备驱动。 这个版本BSP应该是社区开发者贡献的,设备驱动不是很全,应该不再维护更新了。 建议直接换gd32这个文件夹下的bsp吧,这里是结合官方整理的相对规范,设备驱动也稍全些。 |
|
|
|
|
|
|
|
个人感觉并不麻烦,主要看你的功能都应用了那些驱动接口,如果所用到外设驱动两个版本BSP都支持的话,移植过来还是很快的,毕竟接口都是一样的,直接把你的应用层代码移植就好。
建议还是更换吧,不定你后边要增加的应用代码又用到了什么外设而这个BSP又不支持呢。长痛不如短痛 实在想用旧版本也可以的,目前就是I2C用到PIN设备驱动问题,你再把新的BSP中的PIN 设备驱动直接移植过来就好了。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
583 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
2207 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1227 浏览 0 评论
1776 浏览 0 评论
1462 浏览 0 评论
74790 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 14:22 , Processed in 0.862825 second(s), Total 88, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号