系统“滴答”定时器与主程序并行的?那它怎么能实现阻塞定时效果?

KITTY_ONE111 2021-01-20 11:54:45
看了正点原子的源程序延时阻塞定时全部都是用SysTick“滴答”时钟定时用于主程序的延时,这就让我产生疑惑:不是说SysTick是独立的吗?也就是说与主程序并行运行,只是到了中断的时候才会使主程序跳入中断服务函数里边去,那这样“滴答”时定时器是怎么起到阻塞定时作用的?像IIC里边用的延时就是阻塞延时,就是让主程序卡在delay这里,“滴答”定时器是怎么能实现的?
...全文
187 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
worldy 2021-01-20
  • 打赏
  • 举报
回复
delay(int m) { int t0=gettick(); while(gettick()-t0<m){} }

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧