[应用相关] 关于stm32定时器中中断

[复制链接]
1310|10
 楼主| lwsn 发表于 2017-6-30 10:05 | 显示全部楼层 |阅读模式
在stm32定时器中主程序中并没有进入中断的语句,,请问是从哪儿进入中断的?谢啦!!
Thor9 发表于 2017-6-30 10:36 | 显示全部楼层
中断函数写在stm32f10x_it.c中了,这个文件中包含了各种中断
Mattheww 发表于 2017-6-30 10:54 | 显示全部楼层
系统发生中断的时候,程序调到中断向量表中对应的位置,中断向量表在starup_stm32f10x.hd.s这个启动文件中有定义。
Erichk 发表于 2017-6-30 11:06 | 显示全部楼层
Systick系统时钟中断,他找到向量表中Systick中断,这里面就是一个字节的地址,中断就跳到这个地址执行。这个地址就是对应中断函数的入口。而中断函数在stm32f10x_it.c中。
mmuuss586 发表于 2017-6-30 12:16 | 显示全部楼层
.S文件里有汇编的跳转
Thorald 发表于 2017-6-30 14:31 | 显示全部楼层
把中断要处理的程序添加到SysTickHandler(void)这个函数里面就行了。本来这个函数是空的。
Bjorn 发表于 2017-6-30 14:49 | 显示全部楼层
__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
{
  if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk)  return (1);      /* Reload value impossible */

  SysTick->LOAD  = ticks - 1;                                  /* set reload register */
  NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);  /* set Priority for Systick Interrupt */
  SysTick->VAL   = 0;                                          /* Load the SysTick Counter Value */
  SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |
                   SysTick_CTRL_TICKINT_Msk   |
                   SysTick_CTRL_ENABLE_Msk;                    /* Enable SysTick IRQ and SysTick Timer */
  return (0);                                                  /* Function successful */
}
  请问,这个是从哪一句开始进入中断的呢?
是NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);
还是
SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |
                   SysTick_CTRL_TICKINT_Msk   |
                   SysTick_CTRL_ENABLE_Msk;                    /* Enable SysTick IRQ and SysTick Timer */呢???
Rollo 发表于 2017-6-30 16:16 | 显示全部楼层
__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
这个是滴答时钟定时器中SysTick_IRQn。starup_stm32f10x.hd.s文件中会有对应的定时器服务中断函数入口,就是SysTick_Handler这个。
Rangar 发表于 2017-6-30 16:25 | 显示全部楼层
这个是滴答时钟定时器中SysTick_IRQn...
怎么在定时器中断中做自己人想的事情呢?
Stannis 发表于 2017-6-30 16:49 | 显示全部楼层

中断向量表里
Brand2 发表于 2017-6-30 17:02 | 显示全部楼层
main.c和中断是同时进行的两条线,若检测到中断,即暂停主程序,进入中断服务函数,若能执行完中断服务函数,就跳回到主函数,继续执行main.c
您需要登录后才可以回帖 登录 | 注册

本版积分规则

122

主题

824

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部