codeblocks和stm32谁的计算精度高
1个回答
展开全部
首先取决于你的时钟频率选定为多少。
以24位的SysTick定时器为例,在3.5版本的库函数(该版本简化了对该计时器的配置函数)中,调用函数 SystemInit(); 初始化SysTick计时器为STM32主时钟的8分频,假设主频达到72MHz
则此时计时器的频率为9MHz,即1秒可 向下记数 (9M)次。
f=9MHz,所以周期为T=1/f,即1/。
再调用SysTick_Config(SystemCoreClock / X) (X表示一个数,填入多少就能获得 1/X 秒数)
delay中调用这些便可实现精确计时。
例如
void Delay(vu32 count)
{ 全局变量A = count };
然后再在stm32f10x_it.c 文件中的定义
void SysTick_Handler(void)
{
if(全局变量!=0)
全局变量--;
}
就可以实现计时了。
以24位的SysTick定时器为例,在3.5版本的库函数(该版本简化了对该计时器的配置函数)中,调用函数 SystemInit(); 初始化SysTick计时器为STM32主时钟的8分频,假设主频达到72MHz
则此时计时器的频率为9MHz,即1秒可 向下记数 (9M)次。
f=9MHz,所以周期为T=1/f,即1/。
再调用SysTick_Config(SystemCoreClock / X) (X表示一个数,填入多少就能获得 1/X 秒数)
delay中调用这些便可实现精确计时。
例如
void Delay(vu32 count)
{ 全局变量A = count };
然后再在stm32f10x_it.c 文件中的定义
void SysTick_Handler(void)
{
if(全局变量!=0)
全局变量--;
}
就可以实现计时了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询