嵌入式学习小组
直播中

贾埃罗

7年用户 1670经验值
私信 关注

为什么UCOSIII中使用IIC会出现偶数次的数据不对的现象?

我用的是原子哥的mini板子,IIC的驱动代码就是例程的模拟IIC,不加入操作系统时读写正确。加入操作系统后,读、写(2个任务)前后分别对调度器采用上锁和解锁的操作,但是出现了偶数位的数据读出来不正确,奇数数位正确的奇怪现象,于是我把读写任务的时间片延长到50个(每个5ms)问题还是没有解决,读写任务的优先级相同并且是可用优先级中最高的。操作的数据并不多也就10个不到。为什么会出现这样,请大神们指点一下,谢谢。

回帖(1)

赵敏

2019-9-3 09:23:40
OSSchedLock只是关闭了任务调用,没有关闭中断,iic的读取出错大多是中断原因,你改成OSIntEnter()和OSIntExit()再试试
举报

更多回帖

发帖
×
20
完善资料,
赚取积分