完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
从裸机转到ucos,困惑还挺多的,求各位朋友解答;如果I2C任务在读写操作的时候,被别的任务打断,会影响正常的读写,不知道在ucos或RTOS中该怎么处理如果读写过程禁止任务切换,会出现最坏的情况,即读不到数据,需等到超时才能结束本次读写,不知道大家有什么好的思路(模拟SPI也有该问题,不知道硬件SPI和硬件I2C会不会有这个问题)
void Task_EEPROP_WR(void) { EEPROM_Init(); while(1) { if(readFlag) { ReadEEPROM(rAddrIndex,length); } else if(writeFlag) { WriteEEPROM(wAddrIndex,length); } } } void Task_Other1(void) //有多个这样的任务 { while(1) { doSomeThing(); OStimeDlyHMSM(0,0,0,20); } } |
|
相关推荐
2个回答
|
|
|
你可以禁止任务调度,就可以了。具体参考我们综合实验
|
|
|
|
|
|
谢谢原子哥
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1018 浏览 1 评论
1849 浏览 0 评论
1830 浏览 1 评论
3254 浏览 5 评论
3581 浏览 9 评论
1022浏览 1评论
1850浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1360浏览 1评论
1852浏览 0评论
1178浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 06:31 , Processed in 0.702630 second(s), Total 76, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1642