1.频率与时间的换算需要根据芯片型号计算
如STM32F0芯片的频率为48M
那么如果需要延时1微妙则可以
首先进行8分频得到6M 6M=6*1000KB=6*1000*1000Bit=6000000个数 这是每秒计的数
那么1ms则计6000个数 1us则计6次数
如果要用systick 做延时函数,那么systick重装载值则为6
如STM32F1芯片的频率为72M
那么如果需要延时1微妙则可以
首先进行8分频得到9M 9M=9*1000KB=9*1000*1000Bit=9000000个数 这是每秒计的数
那么1ms则计9000个数 1us则计9次数
如果要用systick 做延时函数,那么systick重装载值则为9
2.精准微妙延时示例
void delay_us(uint32_t nus) { uint32_t temp; SysTick->LOAD = 9*nus; //这里是