中易网

在实时操作系统上i2c可以和usart一起进行吗

答案:1  悬赏:80  
解决时间 2021-03-21 21:29
在实时操作系统上i2c可以和usart一起进行吗
最佳答案
下面是我在测试中得到的几个结论:1、硬件I2C的CLK在50kHz及以下的情况下工作,不会出现任何情况下的卡住。(本人测试时间为20h)2、硬件I2C的CLK在常用的100kHz和400KHz下工作,99%的概率下会在1小时之内卡住,甚至只有几十秒。3、硬件I2C的CLK在任何频率下工作,在读取或者发送数据时,都绝对不允许其它中断事件打断它的工作,否则一定会卡住,只是时间问题。综上,硬件I2C的稳定工作情况是:工作在50kHz及以下,并且保证无其它任何中断打断它的工作。这样只适用于某些对速率要求不高的场所,比如EEPROM的读取等,而对于高速器件例如某些型号的AD芯片,就不能用了。如果你一定需要高速率(400KHz),那么推荐大家使用STM32的替代方案GD32(兆易创新),它与STM32完全兼容但是解决了STM32的硬件I2Cbug,经过本人实际测试,在400KHz的情况下工作,48小时无任何错误发生。但是仍需注意的是不能有外部中断打断I2C的工作。对于ST公司推荐的将I2C工作在DMA和最高优先级的中断,我只能说大家可以根据自己的情况使用,因为如果你使用了ucosii或者其它实时操作系统,那么这种设置最高优先级的方式是绝对不推荐的。如果你是裸机程序,并且任务数量不多,可以考虑这种DMA+中断的方式,否则一定会出现问题,只是测试时间长短问题。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
新悍威336潍柴发动机废气管排机油怎么解决
电梯里,rc,rw各代表什么意思
回来娶你《前世今生的轮回》
磁灶有什么特产
怎么用ps画人
上海移民中介公司选择哪家好?
想开一家火锅店或串串香,如果不加盟,怎么才
初三语文课文契诃夫的《变色龙》改为话剧
农商银行卡6223190220860180三个月内流水帐
红袖添香这个词语是什么意思??
上海有那些酒吧好玩不贵?
腿毛越刮越粗怎么办
男人喜欢一个女人的表现?男人爱一个女人的表
求指点,东莞市雅思电子公司的基本情况?急求
天热了,还能穿靴子么
推荐资讯
西安有哪些本土的企业?
如何比喻宁波区划调整
法官用法锤敲的木板叫什么
领尚净水机南宁总代理
宝宝喝哪种奶粉是有利于智力和语言发育呢?
怎么防止疤痕形成或尽量变小...
请问有没有看脸测发型软件,谢谢
请问下 我的电脑风扇怎么老是6000转左右1分钟
基的检验数量疑问
乐视2升级最新版微信怎么不能最小化
爱来的刚好剧情介绍
以前看过一本修真小说,讲一个农村小伙和哥嫂
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?