用的這款stmL476rct6只有boot0,boot1以寄存器的形式存在
默認boot1爲低電平,所以只用設置boot0引腳既可以進入usb升級模式
通過判斷下圖寄存器位可以判斷boot1默認電平
需要注意的是讀出的寄存器位值和實際狀態相反,如下圖
代碼用hal庫,可以這麼查看
FLASH_OBProgramInitTypeDef my_config; HAL_FLASHEx_OBGetConfig(&my_config);
通過判斷my_config中的USERConfig的第24位來判斷boot1狀態
串口發送0x7f時注意有奇偶校驗,不是8N1,返回0X79是正常,0X1F異常,bootloader協議見