解決A9139M0 PM2喚醒後I/O 輸入功能失效 或是 I2C功能失效問題
- 本篇介紹當A9139M0進入PM2,喚醒後出現I/O OUTENABLECLR 輸入功能失效問題 
- 由於Ref. code進入PM mode的時候,為了防止其他IO影響到PM電流,會在進PM的時候把所有IO設成 高阻抗模式 
- 因此從PM2喚醒後,需要設定想使用的I/O對應的MIx_WBUSx set="1",把該I/O設為Normal,這樣I/O才能正常工作 
- 注意:修改前需要Unlook,Unlook方法: 
POWER->PWR_TA = 0xAAAAAAAA; POWER->PWR_TA = 0x55555555;
然後再執行設定底下對應的I/O Contolx Reg








- Demo Code: 
 RC_A9139M0_x1_433MHz Band Ref. Code_NonRF_V0.5_Test SLPTimer0_IO_InPutFunction_0603.zip
RC_A9139M0_x1_433MHz Band Ref. Code_NonRF_V0.5_Test SLPTimer0_IO_InPutFunction_0603.zip
		SLPTIMER0_enable();啟動sleep timer	
		while(1)
		{
		//==========PM2喚醒後=============
		    POWER->PWR_TA = 0xAAAAAAAA;
                    POWER->PWR_TA = 0x55555555;		
		    POWER->IO_CTRL1 = 0x00000008; //P0.11
                //=================================================================
                    GPIO0->OUTENABLESET |= BIT10;//Set P0.10輸出PIN
                    GPIO0->OUTENABLECLR = BIT11;//Set P0.11輸入PIN
                    GPIO0->PUN_PIN.P11=1;
	        //判斷P0.11是否為0
	            if(GPIO0->DATA_PIN.P11 == 0)
	            {
			GPIO0->DATAOUT_PIN.P10 ^= 1;//翻轉I/O P0.10
			Delay100us ( 10 );
			GPIO0->DATAOUT_PIN.P10 ^= 1;//翻轉I/O P0.10
			Delay100us ( 10 );	
	            }
	            PM2();//再次進PM2等待下次SleepTimer中斷後喚醒	
		}- 若使用Amiccom提供的I2C Ref code,記得也需要將P0.04(SCL)/P0.05(SDL) I/O Control Pin設成"1" 
如下:
 
 
Demo Code:
 RC_A9139M0_x1_433MHz Band Ref. Code_NonRF_V0.5_Test SleepTimer I2C_0603.zip
RC_A9139M0_x1_433MHz Band Ref. Code_NonRF_V0.5_Test SleepTimer I2C_0603.zip
