打印

阿波罗F4/F7开发板例程不支持24C512的解决办法

[复制链接]
434|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
车水马龙|  楼主 | 2018-7-6 15:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这两天有客户反映阿波罗STM32F429开发板的代码不支持24C512。
特意买了一批芯片回来测试,发现确实不能支持,最终发现IIC_Stop函数有一处bug,修改后问题得到解决。
问题代码:
[mw_shl_code=c,true]//产生IIC停止信号
void IIC_Stop(void)
{
        SDA_OUT();//sda线输出
        IIC_SCL=0;
        IIC_SDA=0;//STOP:when CLK is high DATA change form low to high
         delay_us(4);
        IIC_SCL=1;
        IIC_SDA=1;//发送I2C总线结束信号
        delay_us(4);
}[/mw_shl_code]

修正后代码:
[mw_shl_code=c,true]//产生IIC停止信号
void IIC_Stop(void)
{
SDA_OUT();//sda线输出
IIC_SCL=0;
IIC_SDA=0;//STOP:when CLK is high DATA change form low to high
delay_us(4);
IIC_SCL=1;
delay_us(4);
IIC_SDA=1;//发送I2C总线结束信号
}[/mw_shl_code]

就是这个delay_us的位置出现了问题,导致的bug.
修改后,就可以支持24C512了。。。。










阿波罗, 开发

使用特权

评论回复

相关帖子

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

本版积分规则

474

主题

476

帖子

0

粉丝