stm32i2c缺点 关于调试stm32和stm8的i2c和spi协议的之间的区别?
浏览量:3018
时间:2021-04-08 05:34:08
作者:admin
关于调试stm32和stm8的i2c和spi协议的之间的区别?
实际上,这两种通信方式都是串行通信,通信协议可以相同。
但是,I2C和SPI之间的接口不同。SPI有一个控制引脚,需要升高或降低该引脚才能进行通信。有数据和时钟,至少有三根线可以通信。IIC是两条可以通信的线路,数据和CLK实现通信。
为什么说stm32的i2c鸡肋?
STM32 I2C错误:由于ACK信号时间很短,一旦短ACK信号丢失,STM32就会挂断。CPU必须处理许多不同的任务。一旦其他任务占用CPU,ACK就很容易被遗漏。
官方网站不承认此错误。解决方案是采用最高优先级的DMA来实现I2C传输。
我以前遇到过I2C的这个问题。切换到状态机模式后,就不会有问题了。将I2C中断的优先级设置为最高。
如何用stm32库函数编一个i2c串口程序?
I2C总线由NXP(原飞利浦)公司设计。它有一个非常简单的物理层定义。其特点如下:
只需要两条总线:一条串行数据线SDA和一条串行时钟线SCL;
每个连接到总线的设备都可以通过一个唯一的地址和一个简单的主机/从机关系软件来设置其地址,主机可以充当主机发送器或主机接收器;
这是一个真正的多主机总线。如果两台或两台以上主机同时初始化,数据传输可以通过冲突检测和仲裁防止数据被破坏;
串行8位双向数据传输速率在标准模式下可以达到100kbit/s,在快速模式下可以达到400kbit/s,在高速模式下可以达到3.4mbit/s;
连接到同一总线的IC数量仅受总线最大电容400pF的限制。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
上一篇
网站开发实训日记 网站开发程序
下一篇
网络营销的课设心得 网络营销课程