你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器。关注该话题即可发布文章!
void Delay_us(__IO uint32_t nTime)
{9 m& D! B) W7 ?1 E. F% _
SysTick->LOAD = 144*nTime;: q, Y1 d2 A" N( Z' Y# i1 h+ n G
SysTick->CTRL = 0x00000005;
while(!(SysTick->CTRL & 0x00010000));! x7 M7 U2 J; H3 b/ i
SysTick->CTRL = 0x00000004;
}! @8 o9 k M& k* c* j
无延时产生。我还没细看手册上起停定时器寄存器的值,不过直接套用无效。不知道楼主在F407上有没有测试过此寄存器?
1 c7 R6 R# U' `1 ~
经过示波器测试,中断延时180us时,平均误差约在0.3us,但偏移范围在0.7个us以内。精度基本可以接受。
这里有一种新的延时方式,不占用任何定时器或中断而且可以精确到纳秒级