CH573,睡眠模式,串口喚醒問題


//? UART1_Reset();

//? R8_UART1_MCR = 0;

//? R8_UART1_IER = 0;

//? R8_UART1_IIR = 1;

//? R8_UART1_LCR = 0;

//? R8_UART1_LSR = 0x60;

? GPIOA_ModeCfg(GPIO_Pin_8,GPIO_ModeIN_PU);

? GPIOA_ITModeCfg(GPIO_Pin_8,GPIO_ITMode_FallEdge);//PA8 串口喚醒

? PFIC_EnableIRQ(GPIO_A_IRQn);


? PWR_PeriphWakeUpCfg( ENABLE, RB_SLP_GPIO_WAKE, Edge_LongDelay );//喚醒源

? DelayMs( 2 );

? LowPower_Sleep( RB_PWR_RAM16K | RB_PWR_RAM2K );? ? ? ?//只保留14+2K SRAM 供電

? HSECFG_Current( HSE_RCur_100 );? ? ?// 降為額定電流(低功耗函數(shù)中提升了HSE偏置電流)



這是睡眠配置,睡眠前把串口設置成外io喚醒

這是啟動的時候配置的串口, 能用, 但喚醒后重新調用, 就出現(xiàn)死機現(xiàn)象了

void Uart1_Ble_Init(void)

{

? UART1_Reset();//串口復位

? GPIOA_SetBits(bTXD1);

? GPIOA_ModeCfg(bTXD1, GPIO_ModeOut_PP_5mA);

? GPIOA_ModeCfg(bRXD1, GPIO_ModeIN_PU);

? UART1_DefInit( );

? UART1_ByteTrigCfg( UART_1BYTE_TRIG );//UART_1BYTE_TRIG,UART_7BYTE_TRIG

? UART1_INTCfg( ENABLE, RB_IER_RECV_RDY|RB_IER_LINE_STAT );

? PFIC_EnableIRQ( UART1_IRQn );

}

這是串口中斷

void GPIOA_IRQHandler(void)

{

? GPIOA_irqFlag? = GPIOA_ReadITFlagPort();

? if(GPIOA_irqFlag? & GPIO_Pin_8){//chuankou

? ? GPIOA_ClearITFlagBit(GPIO_Pin_8);

? ? PFIC_DisableIRQ(GPIO_A_IRQn);

? }

}



死機不知道死在哪, 不方便debug, 問題有可能出在哪?


CH579 CH573 CH582 串口切換GPIO睡眠喚醒操作 - debugdabiaoge - 博客園 (cnblogs.com)

可看下這個,喚醒后要關閉GPIO中斷,關閉GPIO喚醒,然后重新設置IO,再初始化串口


ch573 睡眠模式還能繼續(xù)仿真嗎??


開啟睡眠后無法進行仿真


請教一個問題:我現(xiàn)在使用的是573? PB4使用IO喚醒串口后 我把IO中斷禁用了來接收數(shù)據? 但按鍵PB13也需要IO喚醒(禁用了就用不了了) 都是在GPIOB上? 現(xiàn)在我想要問的是: 這顆單片機能不能單獨的一個PIN設置中斷使能? ?比如我能單獨設置GPIOB_Pin_4 設置為IO觸發(fā)中斷或RX接收中斷? ?不會干擾我按鍵GPIOB_Pin_13的IO觸發(fā)中斷???



都是B組引腳的話,不能單獨設置。建議使用一個A組引腳和一個B組引腳,這樣可以區(qū)分開。


只有登錄才能回復,可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频