基於arm公司cortex-m3核心的stm32系列晶元具有高效的核心,豐富的外設,優異的實時效能,傑出的功耗控制,且具有有競爭力的**,應用前景看好。作為對stm32了解不多的電子工作者,有必要了解stm32的特性,學習其使用方法,為將來工程應用打下基礎。
為了能快速的上手stm32,特制定了基於「ek-stm32f**學習套件」的新手上路計畫。該套件基於stm32f103vb晶元,片內資源豐富,並外擴了豐富的硬體介面,是很好的學習入門工具。此學習計畫重點學習stm32的軟體程式設計方法,通過學習和編寫一些實驗程式,可初步了解stm32各功能模組的使用方法,為更深一步的工程應用打下基礎。
利用ek-stm32**學習板完成以下實驗:
1. 利用4個led實現流水燈.學習gpio的輸出控制功能.
2. 利用按鍵key3和key4分別控制led1,2和led3,4的亮滅,採用掃瞄方法.學習gpio的輸入功能.
3. 利用按鍵key3和key4分別控制led1,2和led3,4的亮滅,採用中斷方法.學習外部中斷功能.
4. 利用lcd數碼顯示屏顯示從1自加到9999,步進值根據數字位數不同分別為1,10,100,1000.練習gpio控制功能,熟悉lcd的程式設計方法.
5. 利用五維搖桿控制lcd顯示數字1-5.練習gpio的輸入/輸出控制功能.
6. 利用五維搖桿和lcd屏實現秒錶功能.學習定時器的使用.
7. 利用pwm控制led的亮度變化.學習定時器的pwm功能.
8. 上位機通過uart1控制lcd屏顯示數字.學習uart的資料接收功能.
9. 上位機通過uart1和學習板實現簡單的問答功能.學習uart的資料傳送功能.
10. 利用電位器控制lcd屏顯示不同電壓.學習adc功能使用.
11. 採用i2c的24c02讀寫實驗.學習i2c功能.
12. sd卡讀寫實驗.學習spi功能.
13. usb簡單通訊實驗.學習usb功能.
因為此學習方案定位於新手入門,所以難度不算太大。但是usb由於以前沒有接觸過,所以需要多下功夫學習。st官方有提供usb的韌體,同時有很多資料可以參考,也可以向edn上的高手請教,順利完成usb通訊實驗應該沒有太大問題。還有乙個問題是sd卡讀寫實驗,因為對sd卡了解較少,需要進一步查閱資料學習。
通過完成上述實驗專案,可以學習stm32的gpio、定時器、uart、spi、i2c、adc、usb等功能模組的原理和stm32韌體庫的使用方法,並且可根據工程應用的需要對某些模組進行深入學習。完成此學習計畫也有利於熟悉iar for arm的編譯環境,掌握iar下的程式編寫除錯方法。
stm32學習筆記一
最近小毅入手了一塊stm32,考慮到其arm cotexm3核心的強大性,決定學學。今天是第一次接觸,先從簡單的開始。小毅使用的開發環境是windows下的rvmdk,是keil的乙個版本,keil大家都不陌生吧,哈哈,學過51的都知道,就不贅述了。遇到了第乙個問題 led.axf error l6...
stm32學習記錄(一)
介紹stm32什麼的就不說了,直接從點亮led開始吧 在進行程式設計前,需要知道 1.如果要使用stm32的io口,需要先對io口進行初始化。這個初始化函式包括以下幾個部分 gpio inittypedef gpio initstructure 定義乙個結構體,必須放在開頭 rcc ahb1peri...
STM32學習筆記 一
一 stm32韌體 庫 學習 1.建立模板 模板是按照附件的方法建立的,共建立了 4個資料夾 cmsis startup user project 在project 中還建立了 2個資料夾 obj和 listing 用於存放目標檔案和列表檔案。最終的物理目錄如下。在mdk4.23 中建立相應的目錄,...