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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

STM32硬件基础

發布時間:2023/12/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32硬件基础 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • STM32f1庫函數開發學習
    • 硬件基礎
      • 一. 硬件資源
      • 二. 部分拓展硬件
        • 1. 啟動方式
        • 2. JTAG
        • 3. EEPROM
        • 4. 液晶顯示
        • 5. PS/2 接口

STM32f1庫函數開發學習



硬件基礎


一. 硬件資源


可能用到的硬件資源:

  • HS0038 紅外接收
  • DS18B20 數字溫度傳感器
  • 24C02 EEPROM
  • JTAG/SWD
  • CH340G
  • AMS1117-3.3 電源穩壓芯片
  • PS/2 接頭
  • SD卡
  • W25Q64 64M FLASH 芯片
  • NRF24L01 無線通信

芯片命名規則

  • ST代表意法半導體
  • STM32代表ST品牌Cortex-Mx系列內核(ARM)的32位MCU
  • 下一個字母( F/L/W )
    • F:通用快閃(FlashMemory)
      • F0xx和F1xx系列為2.0~3.6V
      • F2xx和F4xx系列為1.8~3.6V
    • L:低電壓(1.65~3.6V)
    • W:無線系統芯片,開發版
  • 103代表是增強型系列(101是基本型)
  • Z是引腳數,(Z-144腳、E-100腳…)
  • 接下來的字母代表Flash容量(E-512K、D-348K、C-256K…)
  • 封裝:
    T:LQFP
    H:BGA
    U:VFQFPN
    Y:WLCSP/WLCSP64
  • 溫度范圍:
    6:-40℃-85℃ (工業級)
    7:-40℃-105℃(工業級)

例如STM32F103RBT6:

圖片轉載自電子發燒友網:http://m.elecfans.com/article/597931.html



二. 部分拓展硬件

以STM32F103RCT6為例,并講解一部分外設應用:

STM32F103RCT6
———————資源———————
48KB SRAM
256KB FLASH
2 個基本定時器
4 個通用定時器
2 個高級定時器
2 個 DMA 控制器,共 12 個通道
3 個 SPI、2 個 IIC
5 個串口、1 個 USB、1 個 CAN
3 個 12位 ADC、1 個 12 位 DAC
1 個 SDIO 接口及 51 個通用 IO 口




1. 啟動方式

處理器基本原理都相似,簡單理解都是取指令、執行指令。從哪里取指令就涉及到存儲介質了,ROM和RAM其實就是兩種不同的存儲介質(一個可以掉電保存,一個掉電不保存),他們都可以做為存儲指令的介質。

關于ROM,RAM,FLASH等存儲介質有關內的介紹,參見下文:


ROM,RAM,FLASH等存儲介質的區別介紹


所謂啟動,一般來說就是指我們下好程序后,重啟芯片時,SYSCLK的第4個上升沿,BOOT引腳的值將被鎖存。

STM32有3種啟動方式,我們可以通過設置BOOT1和BOOT0引腳的狀態,來選擇在復位后的啟動模式。



  • 用戶閃存存儲器啟動模式(Main Flash memory)
    正常的用戶工作模式,通過jtag和swd模式進行下載程序,重啟后也直接從這啟動程序。

  • 系統存儲器啟動模式(system memory)
    從系統存儲器啟動,這種模式啟動的程序功能是由廠家設置的。

  • SRAM啟動(Embedded Memory)
    SRAM,沒有程序存儲的能力,這個模式一般用于程序調試。

假如我只修改了代碼中一個小小的地方,然后就需要重新擦除整個Flash,比較的費時,可以考慮從這個模式啟動代碼(也就是STM32的內存中),用于快速的程序調試,等程序調試完成后,在將程序下載到SRAM中。

查看BOOT所在位置的原理圖:


Header 3X2 表示這是一個3X2的排針,那么我們只需要手動調整跳線帽就可以改變BOOT腳的高低電平,從而選擇啟動方式。

ISP下載,即In-System Programming,在線編程下載
選擇ISP下載模式的時候,需要:
BOOT0 = 1,BOOT1 = 0
啟動系統存儲器用于串口下載,然后復位,下載,下載結束還需要將BOOT0接GND,手動復位,這樣STM32才可以從Flash中啟動。

關于STM32啟動模式的詳細闡述,參見下文:


STM32啟動模式淺析





2. JTAG


SWD 和 JTAG 接口共用,而SWD 只需要最少 2 根線 (SWCLK 和 SWDIO) 就可以下載并調試代碼,跟串口下載代碼差不多,而且速度更快,可調試。

推薦使用SWD下載調試(詳見后期軟件調試內容),摒棄JTAG

關于調試方法的區別,參見下文:


淺論各種調試接口(SWD、JTAG、Jlink、Ulink、STlink)的區別





3. EEPROM

  • EEPROM (Electrically Erasable Programmable read only memory),帶電可擦可編程只讀存儲器,是一種掉電后數據不丟失的存儲芯片,是用戶可更改的只讀存儲器(ROM),其可通過高于普通電壓的作用來擦除和重編程(重寫)。
  • EEPROM 可以在電腦上或專用設備上擦除已有信息,重新編程。
  • 一般用于即插即用(Plug and Play,PnP),自動配置低層計算機中的板卡和其他設備,然后告訴對應設備都做了什么。
  • 區別于EPROM(Erasable Programmable ROM)芯片,EEPROM不需從計算機中取出即可修改,而EPROM一旦編程完成后,只能用強紫外線照射來擦除。

常用的24C02芯片:

  • 容量:2Kbit,256字節
  • A0-A3:器件地址線
  • WP: 寫保護引腳
  • SCL/SDA:二線串行接口,服從I2C總線協議
  • VCC/GND:電源/地線

關于 Flash,RAM,ROM 存儲的基本區別,參見下文:


Flash,RAM,ROM區別





4. 液晶顯示

通用液晶接口TFT_LCD

  • 使用TFTLCD時
    • LCD_LED 對應 PC10
    • LCD_CS 對應 PC9
    • LCD _RS 對應 PC8
    • LCD _WR 對應 PC7
    • LCD _RD 對應 PC6
    • LCD _D[17:1]對應 PB[15:0]
  • 使用OLED時:
    • OLED_CS 對應 PC9;
    • OLED_RS 對應 PC8;
    • OLED_WR 對應 PC7;
    • OLED_RD 對應 PC6;
    • OLED_D[7:0]對應 PB[7:0];
  • 引腳注解:
    • CS:片選信號
    • RST(RES):硬復位
    • DC:命令/數據標志 (0讀寫命令;1讀寫數據)
    • SCLK:串行時鐘線,在 4 線串行模式下,D0 信號線作為串行時鐘線 SCLK
    • SDIN:串行數據線,在 4 線串行模式下,D1 信號線作為串行數據線 SDIN



5. PS/2 接口

PS/2,一種鼠標和鍵盤的專用接口,是一種6針的圓型接口。PS/2接口是輸入裝置接口,而不是傳輸接口。所以PS2口沒有傳輸速率的概念,只有掃描速率


鼠標的PS/2的接口是綠色,而鍵盤的PS/2接口是紫色,二者不能接反。

原理圖:

PS/2只有四個腳有意義。它們分別是 Clock、Data、VCC 和 GND

DATA接口在使用的時候需要開啟內部上拉電阻





堅持寫作的第二天,繼續加油!

總結

以上是生活随笔為你收集整理的STM32硬件基础的全部內容,希望文章能夠幫你解決所遇到的問題。

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