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

2019-12-15 11:25发布

如题,现在产品中使用到uCOSIII,但要读IIC ,SPI,用的是普通IO,不知能否实现。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
40条回答
go2deathward
1楼-- · 2019-12-19 08:08
nanfang2000 发表于 2017-1-10 09:39
模拟的IO操作用操作系统更合适因为等待的时候可以切别的任务

有些对时序要求严格的时候,要增加代码临界段,防止被高优先级的任务打断,导致总线超时的问题发生
Excellence
2楼-- · 2019-12-19 12:17
jiangzhimin 发表于 2018-9-10 09:22
i2c 专门的一个读写任务 也是用到delay()函数啊, 用系统的的延时吗,
“或者写。延时长”没太明白 您 ...

就是用UCOSIII的延时程序。读的速度快,写的慢。注意延时的长度。
tangnyzl
3楼-- · 2019-12-19 16:05
 精彩回答 2  元偷偷看……
go2deathward
4楼-- · 2019-12-19 16:40
security 发表于 2017-1-10 10:09
这个跟用不用 RTOS 没有必然的联系。
我想你担心的是,模拟 IIC,时序会不会被 RTOS 的多任务中断,而导 ...

怕打断的时候,加代码临界就可以了
jiangzhimin
5楼-- · 2019-12-19 17:15
日日♂夜夜 发表于 2018-9-10 09:36
两个方案
1.锁调度+延时模拟总线信号
2.定时器+中断模拟总线信号

这种形式?
日日♂夜夜
6楼-- · 2019-12-19 22:41
jiangzhimin 发表于 2018-9-10 14:32
这种形式?

如果锁的话应该锁整条逻辑,这样保证这条逻辑内部时钟频率是稳定的
.....
lock
i2c_read
unlock
.....
lock
i2c_write
unlock
.....

一周热门 更多>