[开发工具] 用for循环实现us延时

[复制链接]
354|1
 楼主| 中国龙芯CDX 发表于 2023-12-23 15:40 | 显示全部楼层 |阅读模式
for循环实现us延时
这个方法比较接地气,采用NOP空语句实现,具体实现起来最好是看汇编代码,有兴趣的小伙伴可以研究研究,直接上代码:
  1. /*
  2. for循环实现延时us
  3. */
  4. void for_delay_us(uint32_t nus)
  5. {
  6. uint32_t Delay = nus * 168/4;
  7. do
  8. {
  9.   __NOP();
  10. }
  11. while (Delay --);
  12. }

实现效果:通过延时翻转IO,逻辑分析仪测试延时时间,测试了延时 20us,下面是测量图:
1.png



AdaMaYun 发表于 2023-12-28 17:56 | 显示全部楼层
for循环实现us延时,这个还真是good
您需要登录后才可以回帖 登录 | 注册

本版积分规则

342

主题

2725

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部