uCOSIII 中能否建立一个IO模拟IIC的任务。

2019-12-15 11:25发布

如题,现在产品中使用到uCOSIII,但要读IIC ,SPI,用的是普通IO,不知能否实现。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
40条回答
dwj0
1楼-- · 2019-12-16 05:25
楼上,I2C, 400K的频率, 每个时钟2.5us,  2.5us的时间还去切换任务,忙的过来吗
黄晨0410
2楼-- · 2019-12-16 07:07
 精彩回答 2  元偷偷看……
security
3楼-- · 2019-12-16 07:16
nanfang2000 发表于 2017-1-10 09:39
模拟的IO操作用操作系统更合适因为等待的时候可以切别的任务


模拟的 IIC 的延时,是要用软件硬延时的,没法切换任务的,系统的 tick 没法做到那么快,要做到那么快的话,系统的负担会加大。
security
4楼-- · 2019-12-16 09:45
黄晨0410 发表于 2017-1-10 09:57
看了一上野火的STM32F429中 电容屏IIC就是IO模拟的,并且是ucos3 ,因该可以,再仔细看一下, ...

这个跟用不用 RTOS 没有必然的联系。
我想你担心的是,模拟 IIC,时序会不会被 RTOS 的多任务中断,而导致错误。
你放心吧,模拟 IIC 之类的,这些是由 master 主动打时钟节拍的,slave 是听 master 的指挥的。
master 的时钟被中断一会儿,是没事的,只要不中断过久,例如几秒级别的(有的 slave 器件,对时间有要求,这需要看规格书的说明),slave 还是会乖乖听话的。
话说回来,master 会中断几秒吗?多数是不会的,如果会的话,你的 RTOS 的方案,就要考虑去掉 RT 字样了。
tenx
5楼-- · 2019-12-16 11:48
有这个疑惑的一般是用作从,做主没一点问题,做从我认为不行
88mw300
6楼-- · 2019-12-16 15:08
还不如搞个定时器驱动更准,你每个总线时钟都在死等,把cpu性能浪费掉,  除非你的CPU不用干活

一周热门 更多>