例如stm32,在进入中断后,如果处理中断程序的时间无法忽略,这时候我就要考虑在处理中断程序的时候,单片机的定时的计数器是不是进入了下一个周期的计数?
如果中断处理时间太长,这个比如长于一个、甚至两三个定时器的定时时间,会不会发生中断丢失的情况?
这样用来控制步进电机的话是不是会造成丢步?
看定时器的设置,一般而言,如果设置为循环计数模式,则定时器在设起中断标志后,重载初值继续计数,中断的处理不会影响到定时器计数;如果设置为单次计数模式,该次定时中断后,定时器完成计数,置中断位后挂起,到中断后重新启动定时器计数,此时中断的相应会影响定时器。
具体看楼主是采用哪种实现方式,根据应用灵活调整。
定时器是否工作 要看启动位是否打开,打开的话 ,定时器溢出后是会继续计数的,而定时器是否溢出产生中断,是要看中断允许位有没有打开,
中断程序在不在运行,定时器有没有计数,不能一概而论,
这个的具体情况需要看定时器使用方式,如果是单次运行,则中断后就挂起,需要通过其他处理使之重置后才能又开始计时。
如果是循环定时器,则产生中断后就重置开始新一轮计时。
他们使用的环境、应用领域是不同的。
特别对于循环定时器,为了保证应用,一般要求应用需要在中断间隔中处理完。