找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1246|回复: 6
收起左侧

求HC32F460 软件I2C怎么写

[复制链接]
ID:424805 发表于 2022-8-17 09:35 | 显示全部楼层 |阅读模式
我从STM32移植过来BMP180的程序,软件IIC一直没有应答。我试了下硬件IIC_start这个函数启动不成功,求哪位能给点思路和例程吗?给我说一说这里面的坑。
回复

使用道具 举报

ID:387618 发表于 2022-8-17 14:15 | 显示全部楼层
回复

使用道具 举报

ID:387618 发表于 2022-8-17 14:18 | 显示全部楼层
延时很关键,用示波器看波形,根据调试经验,IIC_Delay控制在20us左右就可以了。
回复

使用道具 举报

ID:546770 发表于 2022-8-17 15:52 | 显示全部楼层
HC32F460的主频是200MHz的,,和STM32的主频不一样,可以适当的把延时改长一点。
回复

使用道具 举报

ID:883242 发表于 2022-8-17 22:31 | 显示全部楼层
软件IIC的代码是通用的,如果不行就是两个问题,GPIO初始化的模式不对,延迟时间不对。
回复

使用道具 举报

ID:401564 发表于 2022-8-18 07:50 | 显示全部楼层
华大的并不是直接就是完全兼容的STM32的,直接复制估计是不行
1,先保证端口初始化一定是正确的,不然,一切都是折折腾
2,有示波器就用示波器看一下时钟和数据的波形,是不是正确的IIC波形
3,没有示波器可以用LED代替,先把IIC的延时改成1秒的,再把时钟和数据两个端口,各串联一个10K电阻,再接一个LED显示,可以观察两个端口的高低电平状态
回复

使用道具 举报

ID:424805 发表于 2022-8-18 15:05 | 显示全部楼层
doleph 发表于 2022-8-17 14:15
参考我的例程https://blog.csdn.net/happydoleph/article/details/119702974

你的那个延时,方便分享一下不?系统时钟是多少频率的啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表