STM32
直播中

youyoulan

12年用户 1128经验值
私信 关注
[问答]

求助,关于stm8s的halt模式问题求解

新手做stm8的小东西,芯片是stm8s103f3,做的糊里糊涂的,问题如下:
用到了halt模式,仿照网上已有的一些资料写了点东西,但进入halt关掉的一些东西(time,adc等),在外部中断进来唤醒后,其他的大概还正常但time和adc是没有工作了的。
有关程序如下:
中断部分,我直接从中断进halt也不知道行不行,下板子上cheshi
#pragma vector=8
__interrupt void EXTI_PORTD_IRQHandler(void)
{
        BitStatus bit_status;
        bit_status = GPIO_ReadInputPin(GPIOD, ggm);
        if (bit_status == RESET)  //SET or RESET
        {
           CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
      Buttom_Init();  
    ADC_Init();
    Tim1_Init();
    LED_Init();
               tal=0;
                GPIO_WriteHigh(GPIOA, abcd);
                GPIO_WriteHigh(GPIOD, led);
        }
else
        {
                  ADC2_DeInit();
                   TIM1_DeInit();
                    GPIO_DeInit(GPIOA);
                GPIO_DeInit(GPIOB);
                GPIO_DeInit(GPIOC);
                GPIO_DeInit(GPIOD);
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER3,DISABLE);
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1,DISABLE);
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_ADC,DISABLE);
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER2,DISABLE);
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER4,DISABLE);
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_AWU,DISABLE);
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_I2C,DISABLE);
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART1,DISABLE);
  GPIO_Init(GPIOD, led, GPIO_MODE_OUT_PP_LOW_FAST);
  GPIO_Init(GPIOD, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, GPIO_MODE_IN_PU_NO_IT);
  GPIO_Init(GPIOA, abcd, GPIO_MODE_OUT_PP_LOW_FAST);  
  GPIO_Init(GPIOA,GPIO_PIN_2|GPIO_PIN_3,GPIO_MODE_OUT_PP_LOW_SLOW);
  GPIO_Init(GPIOB,GPIO_PIN_4|GPIO_PIN_5,GPIO_MODE_IN_PU_NO_IT);  
  GPIO_Init(GPIOC,GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7,GPIO_MODE_IN_PU_NO_IT);


  Buttom_Init();
  enableInterrupts();
  halt() ;
        }
        
        ;
}
应该是没说清楚的,望大牛们指导···



回帖(1)

李宇昂

2024-5-15 16:15:14
在while(1)之前调用halt() ;
中断中不要增加太多的处理,只处理中断事件就可以了。
while(1)里面加LED闪烁。
理论在while(1)之前进入休眠,外部中断唤醒以后,直接执行后面的代码。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分