天天看點

GD32F1系列晶片上電不啟動

使用GD32F103晶片的過程中出現上電不啟動的問題,連接配接SWIO燒錄線,下載下傳程式後可啟動MCU,但是斷電再上電後卻無法啟動,從以下幾個點尋找原因:

1、硬體

①RC複位電路-----正常

②BOOT0接地或者10k下拉-----使用1k下拉

為排除硬體問題,編寫一個簡單的點燈程式,測試後晶片上電啟動正常。

2、軟體

①确認外部晶振起振逾時時間-----正常,已設定0xFFFF

do{
        timeout++;
        stab_flag = (RCU_CTL & RCU_CTL_HXTALSTB);
    }while((0U == stab_flag) && (HXTAL_STARTUP_TIMEOUT != timeout));

    /* if fail */
    if(0U == (RCU_CTL & RCU_CTL_HXTALSTB)){
        while(1){
        }
    }
           
GD32F1系列晶片上電不啟動

②勾選 use MicroLIB-----已勾選

GD32F1系列晶片上電不啟動

 ③禁用JTAG,使能SWD----已禁用

GD32F1系列晶片上電不啟動

 ④初始化晶片後,延時一段時間再讀取外設-----未加延時-問題所在

 初始化完成需要時間,外設未準備好之前讀取可能導緻單片機跑飛

int main(void)
{
    systick_config();  
    dma_config(); 
    usart_config();
    nvic_config();
    key_gpio_init();
    key_exti_init();
	timer_config();
      
	delay5ms();

	CTRL_12VA(1);
   
    while(1)
    {
    }
}
           

繼續閱讀