完善资料让更多小伙伴认识你,还能领取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个回答
|
|
你可以禁止任务调度,就可以了。具体参考我们综合实验
|
|
|
|
谢谢原子哥
|
|
|
|
只有小组成员才能发言,加入小组>>
1246 浏览 0 评论
1383 浏览 1 评论
2830 浏览 5 评论
3119 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
3045 浏览 6 评论
1294浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
906浏览 1评论
891浏览 0评论
这个BSP包有基础的例程的,不懂的话,3284494788@qq.com我发给您吧
828浏览 0评论
1248浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-7-8 20:44 , Processed in 1.127818 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191