STM32-GPIO—JTAG
1.TTL施密特觸發(fā)器有開/關(guān),相應(yīng)的一個(gè)32位鎖定寄存器(GPIOx_LCKR)可以控制開關(guān)讓輸入數(shù)據(jù)寄存器保持當(dāng)前的狀態(tài),達(dá)到一個(gè)鎖定的效果,在某些應(yīng)用場(chǎng)合很有效果。
2.GPIO端口的每個(gè)位可以由軟件分別配置。
輸入模式: 輸入浮空
輸入上拉
輸入下拉
模擬輸入
輸出模式: 開漏輸出(I2C)
推挽式輸出
推挽式復(fù)用功能
開漏復(fù)用功能
3.在編譯一個(gè)關(guān)于GPIO口的工程時(shí)找不到stdint.h。網(wǎng)上說(shuō)可能安裝路徑不是英文,是中文是有影響的。還有就是什么電腦的環(huán)境系統(tǒng)變量。現(xiàn)在嘗試重新安裝MDK
4.問(wèn)題 :
"No Cortex-M Device found in JTAG chain"或“Emulator has been changed or re-enumerated!”
原因:燒錄的程序關(guān)閉了JTAg功能,復(fù)用了JTAG的接口,導(dǎo)致JTAG不能正常使用。這時(shí),就需要使用串口下載一個(gè)
程序,此程序沒(méi)有關(guān)閉JTAG即可,然后就可以正常重新使用JTAG。
1.找到BOOT1和BOOT0,把BOOT1拉低,BOOT0拉高至3.3V。
2.重新下載程序,刷掉FLASH。
3.把BOOT0再次拉低會(huì)原來(lái)的狀態(tài)就OK啦
我的解決方法:在option for Target中的Debug中JLINK的settings中我將Port改成SW貌似就OK了。