以CH592EVT\EXAM\BLE\Peripheral例程修改:
peripheral.c:
line 211: uint8_t initial_advertising_enable = FALSE;
line 517: uint8_t advertising_enable = FALSE;
这两个修改禁止蓝牙广播,方便测试电流。此时电流大约在3~4uA.
peripheral_main.c: 工程里面去掉DEBUG=1, 增加LCD初始化,电流变为100多uA。
int main(void) { #if(defined(DCDC_ENABLE)) && (DCDC_ENABLE == TRUE) PWR_DCDCCfg(ENABLE); #endif SetSysClock(CLK_SOURCE_PLL_60MHz); #if(defined(HAL_SLEEP)) && (HAL_SLEEP == TRUE) // GPIOA_ModeCfg(GPIO_Pin_All, GPIO_ModeIN_PU); // GPIOB_ModeCfg(GPIO_Pin_All, GPIO_ModeIN_PU); #endif #ifdef DEBUG GPIOA_SetBits(bTXD1); GPIOA_ModeCfg(bTXD1, GPIO_ModeOut_PP_5mA); UART1_DefInit(); #endif PRINT("%s\n", VER_LIB); CH59x_BLEInit(); HAL_Init(); GAPRole_PeripheralInit(); Peripheral_Init(); //PB7(seg0),PB4(seg1),PB23~PB22(seg2~seg3),PA4~PA5(seg4~seg5),PA15~PA12(seg6~seg9),PB11~PB10(seg14~seg15) //LCD_Init(LCD_1_4_Duty, LCD_1_3_Bias); R32_PIN_CONFIG2 = 0xffbef03f; // 关闭数字输入 R16_PIN_ALTERNATE |= RB_DEBUG_EN; // 操作LCD时,需关闭debug R32_LCD_CMD = 0x0c3ff << 8; R32_LCD_CMD |= RB_LCD_SYS_EN | RB_LCD_ON | (LCD_CLK_128 << 5) | (LCD_1_4_Duty << 3) | (LCD_1_3_Bias << 2); GPIOA_ModeCfg(GPIO_Pin_6, GPIO_ModeIN_PU); GPIOA_ModeCfg(GPIO_Pin_7, GPIO_ModeIN_PU); GPIOA_ModeCfg(GPIO_Pin_8, GPIO_ModeIN_PU); GPIOA_ModeCfg(GPIO_Pin_9, GPIO_ModeIN_PU); GPIOB_ModeCfg(GPIO_Pin_0, GPIO_ModeIN_PU); GPIOB_ModeCfg(GPIO_Pin_6, GPIO_ModeIN_PU); Main_Circulation(); }