STM32上电以后GPIO默认是Floating input
生活随笔
收集整理的這篇文章主要介紹了
STM32上电以后GPIO默认是Floating input
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
真實案例1:
用開發板STM32的PD13來測試,直接裸露的管腳。
硬件連接我手上發光二極管的比較長的一端也就是 + 極,開發板找GND連接二極管較短的一端也就是 - 極。
#define TSBUZGPIO GPIOD #define TSBUZGPIOPIN GPIO_Pin_13 #define TS_BUZ_H() GPIO_SetBits(TSBUZGPIO ,TSBUZGPIOPIN) #define TS_BUZ_L() GPIO_ResetBits(TSBUZGPIO ,TSBUZGPIOPIN) void TS_Buz_Init(void) {GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOD,ENABLE );GPIO_InitStructure.GPIO_Pin = TSBUZGPIOPIN ;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(TSBUZGPIO, &GPIO_InitStructure);//TS_BUZ_H() ; }結論:上電復位以后是低電平!
因為燈沒有亮起。主動拉高電平燈TS_BUZ_H() 才會亮。
?
參考:
https://mp.weixin.qq.com/s?__biz=MzI4MTEyNDU1MA==&mid=2651182997&idx=2&sn=e590a414cb58a866725568d9a6f2363d&chksm=f05f7c3cc728f52ada3638b0029aeee27f0056697f4ebf5c8143a76fd4e159d560d10b66ad82&mpshare=1&scene=23&srcid=0606xGDohBQapCa0IS9Ew64h#rd
?
?
?
?
真實案例2:
這里有個TF_DET? 對應的是PC6
原理圖是:沒有插卡--高電平? ? ? ? ? ? 插卡以后--低電平
init 81行GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; //PC6---PD7 上拉輸入GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //復用推挽輸出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度為50MHzGPIO_Init(GPIOC, &GPIO_InitStructure); //根據設定參數初始化PD7檢測就是
u8 Read_THDET_PIN() {return GPIO_ReadInputDataBit(GPIOC ,GPIO_Pin_6); }把這個函數放到循環中 周期讀一讀就知道了 有卡是0? 沒卡是1
?u8 tset?=?? ?Read_THDET_PIN();
?
上電以后就是高電平!因為它外接的3.3v
?
結論:上電是浮空的,一般是低電平,除非你外面自己接電了才是高電平。
總結
以上是生活随笔為你收集整理的STM32上电以后GPIO默认是Floating input的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中望CAD教程:如何将PDF转化为DWG
- 下一篇: 各品牌手机进rec快捷键