日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

正点原子STM32F103学习笔记(二)

發布時間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 正点原子STM32F103学习笔记(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

GPIO基本原理與寄存器配置

基礎信息

STM32F103ZET6,一共有7組IO口,每組IO口有16個IO

USART:(Universal Synchronous/Asynchronous Receiver/Transmitter)USART是一個全雙工通用同步/異步串行收發模塊,該接口是一個高度靈活的串行通信設備。

FT: 可容忍5V(給IO口5V電壓也可識別為高電平)

GPIO工作方式

4種輸入模式:

  • 輸入浮空
  • VDD\VSS開關均斷開
  • 施密特觸發器打開
  • CPU讀輸入數據寄存器數據
    • 輸入上拉
  • VDD開關閉合,接入30-50K的上拉電阻
  • 施密特觸發器打開
  • CPU讀輸入數據寄存器數據
    • 輸入下拉
  • VSS開關閉合,接入30-50K的下拉電阻
  • 施密特觸發器打開
  • CPU讀輸入數據寄存器數據
    • 模擬輸入
  • VDD\VSS開關均斷開
  • AD轉換(模擬0-3.3V量轉為數字量)
  • 施密特觸發器截止
  • 4種輸出模式:

    • 開漏輸出(只可以輸出強低電平,高電平得靠外部電阻拉高。)
  • 由CPU寫入數據到"位設置/清除寄存器",映射到"輸出數據寄存器"
  • 若"輸出數據寄存器"輸出1
  • N-MOS關閉(截止),此時IO口電平不由1決定
  • IO口狀態由外部上下拉決定(浮空狀態)
  • 輸出的電平可以有4-5-6-7路徑讀取
  • 若"輸出數據寄存器"輸出0
  • N-MOS開啟
  • IO口狀態被VSS拉低輸出低電平
  • 輸出的低電平可以有4-5-6-7路徑讀取
    • 開漏復用功能
  • 原理與開漏輸出相似
  • 由復用功能外設輸出決定
  • 若外設輸出1
  • N-MOS關閉(截止),此時IO口電平不由1決定
  • IO口狀態由外部上下拉決定(浮空狀態)
  • 輸出的電平可以有4-5-6-7路徑讀取
  • 若外設輸出0
  • N-MOS開啟
  • IO口狀態被VSS拉低輸出低電平
  • 輸出的低電平可以有4-5-6-7路徑讀取
    • 推挽式輸出(可以輸出強高低電平,連接數字器件)
  • 由CPU寫入數據到"位設置/清除寄存器",映射到"輸出數據寄存器"
  • 若"輸出數據寄存器"輸出1
  • P-MOS導通,N-MOS關閉(截止)
  • IO口輸出1
  • 輸出的電平可以有4-5-6-7路徑讀取
  • 若"輸出數據寄存器"輸出0
  • P-MOS截止,N-MOS導通
  • IO口輸出0
  • 輸出的低電平可以有4-5-6-7路徑讀取
    • 推挽式復用功能
  • 由復用功能外設輸出決定
  • 若"輸出數據寄存器"輸出1
  • P-MOS導通,N-MOS關閉(截止)
  • IO口輸出1
  • 輸出的電平可以有4-5-6-7路徑讀取
  • 若"輸出數據寄存器"輸出0
  • P-MOS截止,N-MOS導通
  • IO口輸出0
  • 輸出的低電平可以有4-5-6-7路徑讀取
  • 參考資料網址

    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)
    • 兩個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学习笔记(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。