stm32每1ms中断一次怎么设置?如何编写代码?
1个回答
展开全部
不知道你要用什么来定时,我平常用内核定时器Systick
//----设置Systick的时钟,时钟源为HCLK/8 = 72MHz,开启中断------------------------------
const unsigned long System_Clock = 72MHz
SysTick->LOAD = System_Clock /8000;
SysTick->VAL = 0;
SysTick->CTRL = 0x00000003;
这里面,System_Clock不一定要72MHz,要根据你的实际的运行情况来定.
后面那个 8000是固定的,当然,你还可以这样写:
SysTick->LOAD = System_Clock /1000;
SysTick->VAL = 0;
SysTick->CTRL = 0x00000007;
配置完成后,中断处理函数在Stm32f10x_it.c的
SysTick_Handler()
//----设置Systick的时钟,时钟源为HCLK/8 = 72MHz,开启中断------------------------------
const unsigned long System_Clock = 72MHz
SysTick->LOAD = System_Clock /8000;
SysTick->VAL = 0;
SysTick->CTRL = 0x00000003;
这里面,System_Clock不一定要72MHz,要根据你的实际的运行情况来定.
后面那个 8000是固定的,当然,你还可以这样写:
SysTick->LOAD = System_Clock /1000;
SysTick->VAL = 0;
SysTick->CTRL = 0x00000007;
配置完成后,中断处理函数在Stm32f10x_it.c的
SysTick_Handler()
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询