TI中文支持网
TI专业的中文技术问题搜集分享网站

OSAL中延时技术的问题

如题,由于CC2540 BLE中有一个小的OS,那么在使用DELAY时会造成大量不必要的问题。
但是我在外接一个器件,比如I2C时,每个操作之间必须要使用延时,比如

I2C_Read();
Delay(3ms);
I2C_WRITE();

在这里存在一个问题,那就是如果我使用API函数osal_start_timerEx()的话,怎么样才能回到I2C_Read()的位置呢?

1.可以自己将这部分压栈?
2.还是不得不写大量事件,比如把这个函数拆分,先做I2C_Read(),osal_start_timerEx()之后做I2C_WRITE()?这样感觉好痛苦?

请问大家有什么良策?不甚感激~!

Barbara Wu:

一般I2C操作的时候,都是会先write后read,之间也不需要有这么长的时间delay。感觉第二个方法可能会比较好。

赞(0)
未经允许不得转载:TI中文支持网 » OSAL中延时技术的问题
分享到: 更多 (0)