正点原子STM32F103学习笔记(二)
GPIO基本原理與寄存器配置
基礎信息
STM32F103ZET6,一共有7組IO口,每組IO口有16個IO
USART:(Universal Synchronous/Asynchronous Receiver/Transmitter)USART是一個全雙工通用同步/異步串行收發模塊,該接口是一個高度靈活的串行通信設備。
FT: 可容忍5V(給IO口5V電壓也可識別為高電平)
GPIO工作方式
4種輸入模式:
- 輸入浮空
- 輸入上拉
- 輸入下拉
- 模擬輸入
4種輸出模式:
- 開漏輸出(只可以輸出強低電平,高電平得靠外部電阻拉高。)
- 開漏復用功能
- 推挽式輸出(可以輸出強高低電平,連接數字器件)
- 推挽式復用功能
參考資料網址
http://www.openedv.com/posts/list/21980.htm
3種最大翻轉速度:
- 2MHZ
- 10MHz
- 50MHz
GPIO相關配置寄存器(共7 ×\times× 7=49個寄存器)
一組GPIO有16個IO口
每組GPIO端口的寄存器包括:
-
兩個32位配置寄存器(GPIOx_CRL ,GPIOx_CRH)
控制每個IO口要4位寄存器,所以要兩個32位寄存器
四位分為兩部分MODE、CNF- GPIOx_CRL:端口配置低寄存器(配置低位:PA0-PA7)
- GPIOx_CRH:端口配置高寄存器(配置高位:PA8-PA15)
- GPIOx_CRL:端口配置低寄存器(配置低位:PA0-PA7)
-
兩個32位數據寄存器 (GPIOx_IDR和GPIOx_ODR)
-
GPIOx_IDR:端口輸入寄存器
每組GPIO有16個IO口,只需要IDR中的16位,低十六位記錄高低電平
-
GPIOx_ODR:端口輸出寄存器
每組GPIO有16個IO口,只需要ODR中的16位
輸入模式下,判斷上拉(1)下拉(0)
-
-
一個32位置位/ 復位寄存器(GPIOx_BSRR)
低位:只設置為1的IO口,其他IO口不影響
-
一個16位復位寄存器(GPIOx_BRR)
與BSRR的關系高位一樣
-
一個32位鎖定寄存器(GPIOx_LCKR)
STM32引腳說明
端口復用功能
復用: 就是一些端口不僅僅可以做為通用IO口,還可以復用為一些外設引腳,比如PA9,PA10可以復用為STM32的串口1引腳。
作用: 最大限度的利用端口資源
端口重映射功能
重映射: 把某些功能引腳映射到其他引腳。比如串口1默認引腳是PA9,PA10可以通過配置重映射映射到PB6,PB7。
所有IO口都可以作為中斷輸入
總結
以上是生活随笔為你收集整理的正点原子STM32F103学习笔记(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#与halcon联合开发——内存溢出
- 下一篇: word模板中替换文本中自定义字符串生成