你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

st-img
chrome
st-img
firefox
st-img
safari
st-img
ie8及以上
shequ.stmicroelectronics.cn
  • ST意法半导体官网
  • STM32中文官网
  • ST全球论坛
登录/注册
  • 首页
  • 技术问答
  • 话题
  • 资源
  • 创客秀
  • 视频
  • 标签
  • 积分商城
  • 每日签到
红白菜

红白菜

 

回答数 0 关注数 0
关注 私信
  • 动态99
  • 提问
  • 回答0
  • 创客秀 0
  • 分享 0
  • 关注0
8 回答

自己写的利用systick进行us定时,请问是否有问题?

未设置标签
红白菜 红白菜 回答时间: 2016-7-2 19:13

经过优化改成如下: void delay_us(uint16_t us) {          uint32_t load_ms,n_us_tick,a_tick,end_tick;                         a_tick=SysTick->VAL;                 load_ms=SysTick->LOAD;                 n_us_tick=load_ms/1000*us;                 if(a_tick>=n_us_tick)                 {                         end_tick=a_tick-n_us_tick;                         while(SysTick->VAL>end_tick);                 }                 else                 {                         end_tick=load_ms-n_us_tick+a_tick;                         while(SysTick->VAL <a_tick);                         while(SysTick->VAL>end_tick);                 }        } 经测试这个代码在延时1000us内只差内个TICK。

赞0
红白菜 红白菜


阅读作者更多的帖子

所在话题

参与活动

  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16