CC2541怎样做到微秒延时?

2019-07-25 14:15发布

本帖最后由 右岸 于 2015-10-27 14:58 编辑

本人新手,刚玩CC2541,想实现一个1500微秒的延时,发现OSAL下有下面的定时函数,但是毫秒级的:
  1. /*********************************************************************
  2. * @fn      osal_start_timerEx
  3. *
  4. * @brief
  5. *
  6. *   This function is called to start a timer to expire in n mSecs.
  7. *   When the timer expires, the calling task will get the specified event.
  8. *
  9. * @param   uint8 taskID - task id to set timer for
  10. * @param   uint16 event_id - event to be notified with
  11. * @param   uint32 timeout_value - in milliseconds.
  12. *
  13. * [url=home.php?mod=space&uid=266161]@return[/url]  SUCCESS, or NO_TIMER_AVAIL.
  14. */
  15. uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint32 timeout_value )
  16. {
  17.   halIntState_t intState;
  18.   osalTimerRec_t *newTimer;

  19.   HAL_ENTER_CRITICAL_SECTION( intState );  // Hold off interrupts.

  20.   // Add timer
  21.   newTimer = osalAddTimer( taskID, event_id, timeout_value );

  22.   HAL_EXIT_CRITICAL_SECTION( intState );   // Re-enable interrupts.

  23.   return ( (newTimer != NULL) ? SUCCESS : NO_TIMER_AVAIL );
  24. }

  25. /*********************************************************************
复制代码希望前辈们指点一二,是不是我没有找到微秒的延时函数??该怎样使用OSAL库函数写出微秒的延时函数??

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
angerbird
1楼-- · 2019-07-25 15:30
 精彩回答 2  元偷偷看……
cehuafan
2楼-- · 2019-07-25 18:24
计时。
sunmeat
3楼-- · 2019-07-25 21:19
微妙的话,用NOP延时吧。
旧影子
4楼-- · 2019-07-26 01:14
一个函数执行就有这么长时间了,微秒延时没有意义。
米尔豪斯
5楼-- · 2019-07-26 05:52
用_NOP()延时,应该可以达到uS
尤彼卡
6楼-- · 2019-07-26 07:38
 精彩回答 2  元偷偷看……

一周热门 更多>