hunqianmenyin 发表于 2009-12-4 20:40:34

103K3的TIM4的一个问题

小弟第一次用ST的单片机,按照例程已经把TIM4全部配置完毕了(在while(1)前面的部分)
void main(void)
{
  TIM4_DeInit();
  
  TIM4_TimeBaseInit(TIM4_PRESCALER_1,0xFF );
  TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);
  enableInterrupts();
  GPIO_Init(GPIOG, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_FAST);
  TIM4_Cmd(ENABLE);
 
      while (1)
     {
     }
}
编译也ok了,用STVD软件仿真,但是总是不会进it.c那个文件里面的TIM4的中断函数
@near @interrupt void TIM4_UPD_OVF_IRQHandler (void)
{
 GPIO_WriteReverse(GPIOG, GPIO_PIN_5);
 TIM4_ClearITPendingBit(TIM4_IT_UPDATE);
  return;
}
哪位大侠可以指点指点啊
 
 

废鱼 发表于 2009-12-5 09:15:47

回复:103K3的TIM4的一个问题

你没有配置NVIC,需要配置,下面是我在使用RTC的时候写的中断,你只需要将下面红色字体改成你需要开启的通道的名称就可以了。
void RTC_It(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
    NVIC_InitStructure.NVIC_IRQChannel = RTC_IRQChannel;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority =6;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);
 }

废鱼 发表于 2009-12-8 14:47:10

RE:103K3的TIM4的一个问题

你只需要将上面的红色字体换成你需要的通道就行了。
void TIM4_It(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
    NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQHandler;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority =6;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);
}
你试试,能不能进TIM4。

xuan-150487 发表于 2010-1-7 17:27:10

回复:103K3的TIM4的一个问题

stm8.interrupt_vector.c 那里有IRQ23 栏上替换你的TIM4的中断函数名称。
这里才是中断入口。

ddrty11 发表于 2018-8-24 11:14:22

我也用STVD TIM4,按照例程设置TIM4,也是进不了TIM4的中断。

robter 发表于 2018-10-14 20:16:49

这个有点难度,不太好跳
页: [1]
查看完整版本: 103K3的TIM4的一个问题