在用SysTick时钟做延时程序时,我在F103的板子是用SysTick_Config()没问题,但是在L151的板子上发现堵这个函数这里了,但是我看了这个函数里面也没有while,怎么就阻塞了,SysTick时钟是Cortex-M3都有的吧?然后我在SysTick_Config()里面定位,发现是堵在这一步了SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk; 不懂为什么这一步不能执行,如果说没有这个寄存器的话,上面的SysTick->LOAD = ticks - 1; 是可以执行的,问题到底出在哪里? 附上程序图: |
那就是你中断太快了。太快的话,别的事情没法干了。
微秒的延时,不如单独搞个定时器来实现吧。
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
我搞了个定时器,没法微秒定时啊,只能搞成毫秒,不然一直进定时器中断
我只是为了写个能进行微秒延时的函数,不关系其他的任务
定时器能进行微秒计时吗,怎么做,我配置的只能最小是毫秒
你如果愿意回答请好好回答。不要通过灌水的方式来赚积分。谢谢
HAL_Delay的函数原型是:void HAL_Delay (__IO uint32_t Delay)
点评