: 主函数中:SysTick_Config(72000) ;滴答定时器的参数是72000即计数72000 (因为我们使用72M的时钟频率,即1s计数72M=72000000次,那1ms计数72000次...) {TimingDelay_Decrement(); } 从上文我们通过装载的计数值72000知道每1ms发生一次中断,在中断函数中调用一个函数TimingDelay_Decrement ...
根据学过的物理中的时间与频率的公式:fosc=1/T T=1/fosc ,fosc为系统的频率。 如果STM32时钟频率为:72MHz,每次的时间为:T=1/72MHz。1秒钟为:1/(每次的时间)=1/(1/72MHz)=72 000 000次。1MHz是:1000 000。 反过来讲。SysTick_Config(72000)代表:72000*(1/72MHz)=1/1000=1(ms)。即定时为1m...
STK寄存器 24位 具体看手册 STK_CTRL 控制 第0位 设置为1使能 第1位 设置为1产生异常 第2位 时钟源选择 有两个 0:AHB(72mhz)/8 = 9mhz 1: 72mhz 第16位 标志位是不是为0 STK_LOAD 重装载值 72000000/1 x 72 = 1000000/1 = 1us 1us * 1000000 = 1s STK_VAL 当前计数值 为0会重装载 ...
voidsystick_init(void){//72MHz / 8 = 9MHzSysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); SysTick -> CTRL =0x02;//开启SysTick中断SysTick -> LOAD =9000;//重载值systick_value =0; SYSTICK_START } 开发者ID:li77leprince,项目名称:Craft,代码行数:9,代码来源:stm32_systick.c 示例...