打印

GD32E230C的这几个引脚问题

[复制链接]
1710|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hu9jj|  楼主 | 2019-3-24 11:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    我准备驱动RD117模块,这个模块是用I2C通讯的,原来准备用固件I2C,开发板上已经将I2C直接连接AT24C02了,不方便与RD117共用(虽然可以将AT24C02的引脚1断开,然后用跳线作片选信号,但RD117却没有可作片选控制的引脚)。我查找了相关的资料,确定用PB3、PB5和PB8来控制RD117,板上引脚的安排见下图:


   但在测试时却发现,PB3和PB8不知被系统的哪个功能占用了,PB3输出了类似时钟的波形,PB8则不断输出一些数据,如下图所示,我可以确定这些信号不是我的代码形成的,但又查不到是系统的哪个功能占用的。



    另外PB5则无法控制,就象失效了一样,我的配置代码如下,应该不会有问题吧?
    rcu_periph_clock_enable(RCU_GPIOB);       //打开PB时钟

    gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_5);
    gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_5);
   已经弄了两天了仍无头绪,请各位帮忙,谢谢!

使用特权

评论回复
沙发
lvben5d| | 2019-3-24 14:05 | 只看该作者
本帖最后由 lvben5d 于 2019-3-24 14:06 编辑

PB5 做I2C SDA的话  推挽输出应该OK的, PB3你看下,要是不明时钟,看是不是做定时器的PWM输出了,你外围设备是I2C从设备,主时钟肯定从你MCU给的,AT24C02这种器件 不会主动给你SCL的。GPIO模拟I2C的话  SDA引脚读的时候,要配置上拉输入。 PS: 参考lib的EXAMPLE 里面有这个IC的库操作。  E230不熟。貌似这个库跟E103还不一样一点。

使用特权

评论回复
板凳
hu9jj|  楼主 | 2019-3-24 16:54 | 只看该作者
I2C0读写AT24C02是正常的,开发板上已经将PB6和PB7配置给I2C0使用了,我只有将PB3、PB5用作模拟I2C来驱动RD117。由于我是在DEMO代码的基础上测试的,也许正象您说的,可能是原来的代码中配置了定时器,我再仔细检查一下看看。谢谢了!

使用特权

评论回复
地板
xujunyi3611| | 2019-3-28 17:23 | 只看该作者
IO模拟应该是最简单的吧,一定要记住,上拉电阻和IO初始的配置。

使用特权

评论回复
5
xujunyi3611| | 2019-3-28 17:24 | 只看该作者
估计就是你说的,IO被占用了,屏蔽掉其他代码,只操作这一部分试试。

使用特权

评论回复
6
hu9jj|  楼主 | 2019-3-29 07:37 | 只看该作者
查了几天都没找到原因,正在改用I2C1,目前I2C1仍在调试过程中。

使用特权

评论回复
7
HKingS| | 2019-3-29 17:17 | 只看该作者
RD117是个什么模块呢?没有搞过

使用特权

评论回复
8
HKingS| | 2019-3-29 17:18 | 只看该作者
hu9jj 发表于 2019-3-29 07:37
查了几天都没找到原因,正在改用I2C1,目前I2C1仍在调试过程中。

你还不如直接用IO模拟呢,这个最快了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:Microchip
简介:让我们来为您提供帮助。我们可提供各种资源来帮助您解决一切问题。是否需要与我们的客户支持团队联系?您可以通过电话、在线聊天功能或电子邮件与他们联系。

144

主题

1031

帖子

11

粉丝