[STM32F1] 这段程序讲解清楚

[复制链接]
3075|73
stly 发表于 2022-7-9 13:23 | 显示全部楼层
不是例程,是IIC头文件里的定义
 楼主| xxmmi 发表于 2022-7-9 13:50 | 显示全部楼层
关键是我看不明白,比如TRA, BUSY, TXE and ADDR flags,都是什么状态?使用库函数进行IIC通讯时对定义的几种状态的 查询顺序?
dingy 发表于 2022-7-9 13:52 | 显示全部楼层

看懂这些得去看ST的参考手册,并且必须已经了解I2C的时序,也就是模拟I2C你必须懂了
dingy 发表于 2022-7-9 13:54 | 显示全部楼层
如果想搞清楚IIC协议,那要找一份协议文件看。
renyaq 发表于 2022-7-9 13:56 | 显示全部楼层
ST的器件手册默认使用者或多或少知道些IIC协议,所以文档多是介绍如何使用这个模块器件。
huangchui 发表于 2022-7-9 13:58 | 显示全部楼层
如果只是想使用硬件IIC模块,可以拿库函数的例程来改
zwll 发表于 2022-7-9 14:00 | 显示全部楼层
我就是这样做的,用来与外部实时时钟通讯,可以用。
yszong 发表于 2022-7-9 14:54 | 显示全部楼层
用模拟的挺好,移到那个单片机都能用。
llljh 发表于 2022-7-9 14:56 | 显示全部楼层
函数已经写得很清楚了,什么主地址,从地址,单字节,连续字节,起始信号等。自己慢慢研究下!
heweibig 发表于 2022-7-9 14:58 | 显示全部楼层

你先模拟iic做成功,
其次,用库不需要关注底层这些东西....只需要调用库的接口
pengf 发表于 2022-7-9 15:04 | 显示全部楼层
用IO模拟的方式,通用方便移植,硬件IIC会折腾死你的。项目做多了,效率和可移植性我更偏向于后者哈哈。
heweibig 发表于 2022-7-9 15:06 | 显示全部楼层
SPI值得研究一下,速度快不是一点半点
zwll 发表于 2022-7-9 15:08 | 显示全部楼层
GPIO比这好用多了
huwr 发表于 2022-7-9 15:10 | 显示全部楼层
HAL库用起来很简单,也没发现什么坑
stly 发表于 2022-7-9 15:12 | 显示全部楼层
用过ST自带的硬件库,总是出现写数据不成功!容易出问题,后来也没找到原因,就自己写模拟的。
stly 发表于 2022-7-9 15:15 | 显示全部楼层
ST的硬件I2C设计的很垃圾,不稳定,很容易出错,甚至连start信号产生都出错或者产生不了,建议还是用模拟吧,就当没有这个模块。
heweibig 发表于 2022-7-9 15:16 | 显示全部楼层
低速怎么弄都行,高速i2c如果还用io模拟会有很大的开销,几百K就弄不来了.
jlyuan 发表于 2022-7-9 15:18 | 显示全部楼层

hal库的i2c有几个错误处理,弄好了就没问题的.
hanwe 发表于 2022-7-9 15:20 | 显示全部楼层
硬件的IIC太难了。
dingy 发表于 2022-7-9 15:22 | 显示全部楼层

测试通过了吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部