完善资料让更多小伙伴认识你,还能领取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个回答
|
|
你可以禁止任务调度,就可以了。具体参考我们综合实验
|
|
|
|
谢谢原子哥
|
|
|
|
只有小组成员才能发言,加入小组>>
813 浏览 0 评论
1162 浏览 1 评论
2535 浏览 5 评论
2871 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2719 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1111浏览 3评论
198浏览 2评论
465浏览 2评论
379浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
462浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 18:57 , Processed in 1.343007 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号