F003 硬件I2C 阻塞式API例程
本帖最后由 Fanexs168 于 2023-2-22 23:52 编辑查看F003 SDK的例程,硬件I2C主机只有中断收发的体现。但遇到有些场合,有的客户不接受中断处理的方案,不期望引入太多中断。
在此新整理了F003的主机Polling发送例程,封装好了I2C_Master_Transmit()、I2C_Master_Receive()、I2C_Master_Tranmit_NOStop()这三个主机收发相关的API——包含器件地址、数据、数据长度三个收发要素。
二次封装,操作EEPROM
[*]二次封装出EEPROM_Write()、EEPROM_Read()函数,跟AT24C256C通信
[*]查看EEPROM手册。
[*]5ms一个写入周期,跟写入数据量无关。
[*]每页做多可连续写入64Byte
①往0x0100地址写入4字节数据
②往0x0100地址读回4字节数据。匹配,成功!
③往0x0100测试连续写入64字节,读回正常
④如果写操作超过64字节,会从Page开头重新开始写入此page,死循环直到遇到Stop条件(此EEROM单次最大写入64Byte,对应一个Page页的大小)
[*]如下,操作长度超过当页Page的第64字节后,写入索引号会重回/覆盖当前Page的第1个字节继续往后写入
[*]所以针对写操作,EEPROM API后续需要优化上跨页写入的支持
但是读操作没有上述字节长度影响,会一直往后读
都是模拟iic。 这个用是逻辑分析器吗 IIC做IAP升级会不会太慢了? 什么是阻塞式 楼主是用逻辑分析仪进行分析的吗?还是? 很少碰到阻塞的情况。 没有看见阻塞的情况。 这个没有测试过,还不是很清楚这个事情。 使用的是哪个芯片呢 这个硬件iic不好用。 硬件I2C 阻塞难度大吗 没碰到过阻塞 这个非阻塞和阻塞有什么不同 使用的是apm32哪个芯片呢 这个会不会影响程序的执行呢? I2C的速度比SPI慢一点 硬件的不好用吧 I2C通信的API是什么 下载的包,是串口示例
页:
[1]
2