欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: STM8L低功耗 RTC和按鍵喚醒+串口發(fā)送ADC數(shù)據(jù), 喚醒后串口波特率不對(duì),發(fā)送... [打印本頁(yè)]

作者: xiaoheiniu029    時(shí)間: 2021-6-23 10:07
標(biāo)題: STM8L低功耗 RTC和按鍵喚醒+串口發(fā)送ADC數(shù)據(jù), 喚醒后串口波特率不對(duì),發(fā)送...
  項(xiàng)目情況:     STM8L051F3 用的內(nèi)部晶振,3.3V電池供電。PB0\PB1\PB2\PB3引腳接4個(gè)按鍵,串口用PA2\PA3.    采用ACTIVE HALT低功耗模式。
                        用RTC和pb引腳的4個(gè)線中斷來(lái)喚醒低功耗模式。   然后ADC采集電壓,通過(guò)串口發(fā)送出去。
  出現(xiàn)問(wèn)題:     喚醒后串口波特率不對(duì),發(fā)送數(shù)據(jù)不對(duì)。      電流一直在毫安級(jí)。  
void main(void)
{
  disableInterrupts();            //關(guān)閉系統(tǒng)總中斷
  CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1); //內(nèi)部時(shí)鐘為1分頻 = 16Mhz
  RTC_CLOCK_Init();
  PWR_FastWakeUpCmd(ENABLE);  //快速喚醒使能
  CLK_HaltConfig(CLK_Halt_FastWakeup, ENABLE);
  IO_Config();
  UART1_Init(9600);

  USART_SendData8(USART1 , 0x55);   
  RTC_ITConfig(RTC_IT_WUT, ENABLE);//喚醒定時(shí)器中斷使能
  RTC_WakeUpCmd(ENABLE);//RTC喚醒使能
  enableInterrupts();   //使能系統(tǒng)總中斷
PWR_UltraLowPowerCmd(ENABLE);//超低功耗


    while (1)
  {
   CLK_PeripheralClockConfig(CLK_Peripheral_USART1 , DISABLE);
    RTC_SetWakeUpCounter(9150);
    RTC_WakeUpCmd(ENABLE);

    CLK_PeripheralClockConfig (CLK_Peripheral_ADC1,DISABLE);//開(kāi)啟ADC時(shí)鐘
    ADC_Cmd(ADC1,DISABLE);//ADC1使能
    CLK_PeripheralClockConfig(CLK_Peripheral_USART1 , DISABLE); //使能USART1時(shí)鐘
    USART_Cmd (USART1,DISABLE);//使能USART
    USART_ClearITPendingBit(USART1,USART_IT_RXNE);

    halt();
     Delay(1000);
    UART1_Init(9600);
     IO_Config();
      if(WAKRUP_flag>0X87)  
    {      


      Delay(1000);


      key_number=GPIO_ReadInputData(GPIOB);
      key_number=key_number&0x0F;

      USART_SendData8(USART1 , WAKRUP_flag);
       Delay(100);
       USART_SendData8(USART1 , key_number&0x0F);
        Delay(100);
      WAKRUP_flag=0;
    }
    if(RTC_flag==0X44)  
    {
       ADC_initc();
      RTC_flag=0;   
      Delay(100);

      key_number=GPIO_ReadInputData(GPIOB);
      key_number=key_number&0x0F;

      USART_SendData8(USART1 , 0xAA);
      ADCdata_get();   
      Delay(100);
      sendbyte(VoltageValue>>8);
      Delay(100);
      sendbyte(VoltageValue);
      Delay(200);
      sendbyte(key_number);
      Delay(200);         
      USART_SendData8(USART1 , 0xEE);   
      Delay(200);  
    }


  }
}


作者: yzwzfyz    時(shí)間: 2021-6-23 15:22
自己先畫(huà)個(gè)流程圖,走通流程圖再討論你的程序。
程序習(xí)慣不好。
作者: kimoye    時(shí)間: 2021-6-23 15:30
我尋思波特率不對(duì),這不改改波特率試一下?




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1