一、了解stm32
從字面意思來看:
二、stm32與arm的關係
arm是英國的晶元設計公司,其最成功的莫過於32位嵌入式cpu核——arm系列,最常用的是arm7和arm9。
arm公司主要提供ip(intellectual property core智財權的核心)核,就是cpu的核心結構,只包括最核心的部分,並不是完整的處理器。
stm32.png
三、stm32分類及命名
(一)stm32分類
stm32分類.png
(二)stm32命名規則
stm32命名規則.png
例如:
舉例.png
四、stm32的使用
stm32能做的東西很多。
usart:esp8266 wifi模組、gsm模組、藍芽模組、gps模組、指紋識別模組等。
iic:eeprom、mpu6050陀螺儀、0.96寸oled屏、電容屏等。
spi:序列flash、乙太網w5500、vs1003/1053音訊模組、spi介面的oled屏、電阻屏等。
ad/da:光敏感測器模組、煙霧感測器模組、可燃氣體感測器模組、簡易示波器等。
其他的一些介面。
五、stm32f103zet6晶元
(一)核心
32位,高效能arm cortex-m3處理器。
時鐘:高達72m,實際還可以超頻一點。單週期乘法和硬體除法。
(二)io口
stm32f103zet6:144引腳,112個io,大部分io口都耐5v(擬通道除外),支援除錯:swd和jtag,swd只要2根資料線。
(三)儲存器容量
512k flash,64k sram
(四)時鐘,復位和電源管理
2.0~3.6v電源和io電壓
上電復位,掉電復位和可程式設計的電壓監控
強大的時鐘系統
4~16m的外部高速晶振
內部8mhz的高速rc振盪器
內部40khz低速rc振盪器,看門狗時鐘
內部鎖相環(pll,倍頻),一般系統時鐘都是外部或者內部高速時鐘經過pll倍頻後得到
外部低速32.768k的晶振,主要做rtc時鐘源
(五)低功耗
睡眠,停止和待機三種低功耗模式
可用電池為rtc和備份暫存器供電
(六)ad
3個12位ad(多達21個外部測量通道)
內部通道可以用於內部溫度測量
內建參考電壓
(七)da
2個12位da
(八)dma
12個dma通道(7通道dma1,5通道dma2),支援外設:
定時器,adc,dac,sdio,i2s,spi,i2c,和usart
(九)定時器
多達11個定時器
4個通用定時器
2個基本定時器
2個高階定時器
1個系統定時器
2個看門狗定時器
(十)通訊介面
多達13個通訊介面
2個i2c介面
5個串列埠
3個spi介面
1個can2.0
1個usb fs
1個sdio
六、學習使用的開發板
七、stm32晶元架構
stm32f103.png
八、stm32晶元系統結構
stm32晶元系統結構.png
九、stm32學習
(一)基本外設
gpio輸入輸出,外部中斷,定時器,串列埠。
(二)基本外設介面
spi、iic、wdg、fsmc、adc/dac、sdio等。
(三)高階功能
ucos、fatfs、emwin等。
(四)c語言要加強
c 語言是嵌入式開發的基礎中的基礎。
入門及鞏固c語言基礎:譚浩強的《c程式設計 第四版》
c語言提高:《c與指標》、《c指標程式設計之道》等
微控制器交流裙:112–6743–406
最後分享相關微控制器學習資料
c語言程式設計基礎
提公升c程式設計能力
(stm32 usart串列埠應用)
基於stm32講解串列埠操作
1 STM32帶你入坑系列 STM32介紹
由於自己的物聯網開發板上的微控制器是用的stm32,但是有些朋友沒有用過,所以我將用這塊開發板,帶著大家入門stm32 先介紹一下stm32,我是在大三下學期的時候開始接觸stm32,當時是想做乙個小車,要用攝像頭,所以學習了stm32.大家可以看我的這一系列的文章 說一下哈,如果學微控制器的,最好...
1 介紹與安裝
go 亦稱為 golang.golang 的主要關注點是使得高可用性和可擴充套件性的 web 應用的開發變得簡便容易。go 的定位是系統程式語言,只是對 web 開發支援較好 既然有很多其他程式語言可以做同樣的工作,如 python,ruby,nodejs 等,為什麼要選擇 golang 作為服務端...
Kali Linux學習01(介紹)
kali linux是乙個高階滲透測試和安全審計linux發行版。作為使用者,我簡單的把它理解為,乙個特殊的linux發行版,整合了精心挑選的滲透測試和安全審計的工具,供滲透測試和安全設計人員使用。也可稱之為平台或者框架。作為linux發行版,kali linux是在backtrack linux的...