103的板子做通用定时器中断试验,语句顺序不同的问题

2019-10-16 03:56发布

#include "timer.h"
#include "led.h"
#include "delay.h"
int main()
{

        LED_init();
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        delay_init();

    timer_init(7199,4199);//设置预分频系数为7199+1=7200,计数器时钟频率f=72Mhz/7200=10KHz,
    while(1)
    {
            PDout(2)=!PDout(2);
            delay_ms(200);
    }

}

主函数如上,如若按照格式把调用延时函数放在中断分组函数后,计数器的溢出时间就不是T=(4999+1)*(7199+1)/72M=500ms了,而远远大于这个值 约为5.6s。。。
当把延时函数放在最前面,就是和LED调用函数换顺序之后,计数器的溢出时间又是对的 约为500ms。

这是为什么呀,这些函数调用不是在timer_init之前么,怎么会影响到溢出时间勒....


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。