嵌入式實驗(STM32)操作手冊(持續(xù)更新)_目前最新_第1頁
嵌入式實驗(STM32)操作手冊(持續(xù)更新)_目前最新_第2頁
嵌入式實驗(STM32)操作手冊(持續(xù)更新)_目前最新_第3頁
嵌入式實驗(STM32)操作手冊(持續(xù)更新)_目前最新_第4頁
嵌入式實驗(STM32)操作手冊(持續(xù)更新)_目前最新_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、一、STM32實驗部分安排:1.1、第一次實驗(1)實驗板和調(diào)試器(2)開發(fā)調(diào)試軟件MDK和HJTAG(3)工程建立和配置、程序下載和運行1.2、第二次(4)基本程序的編寫(程序結(jié)構(gòu)、庫函數(shù)及其說明)(5)程序調(diào)試1.3、第三次:(6)程序的ISP(7)程序編寫(中斷、外設(shè))1.4、第四次:(8)程序的設(shè)計UCOSII程序演示上機考核內(nèi)容(9)上機考試、關(guān)于實驗開發(fā)板:2.1、實驗板硬件說明處理器:STM32F103VBT6,主頻:72MHz128KBFLASH,20KSRAM啟動跳線設(shè)置一個SD存儲卡接口20PinJTAG調(diào)試接口一個USBDevice接口三個功能鍵:Reset,Wakeup

2、,Temper四位八段數(shù)碼管輸出一路AD輸入RTC(帶后備電池)USB供電2個三線RS232串行口四個LED燈一個CAN總線接口,通過DB9接口引出I2C接口,連接24C02E2PROM2.2、軟件例程:BKP備份寄存器例程EXTI芯片中斷實驗調(diào)用配置例程DEBUG仿真模擬調(diào)試?yán)藾MA通信實驗例程8段數(shù)碼管顯示例程SYSTICK實驗例程PWR電源管理程序RTC實時時鐘程序時鐘配置實驗例程TIMWWDG看門狗實驗例程中斷向量配置實驗例程NVICIWDG實驗例程ADC模數(shù)轉(zhuǎn)換例程GPIO的控制實驗,LED(發(fā)光二極管)、KEY(按鍵)等CAN實驗TIM實驗例程串口通訊例程利用CortexM3位塊

3、管理功能讀寫SRAM中的變量程序RCC芯片內(nèi)部時鐘管理程序SPI總線通信例程USB測試?yán)蘵C/OS-II移植2.3WIGGLER仿真器三、STM32實驗開發(fā)板使用指導(dǎo)四、軟件的安裝、硬件連接及軟件配置4.1、MDK4.10prc和HJTAG的安裝4.2、實驗板的硬件連接(1)保證原理圖的P3跳線為:bootO=GND,bootl=GNDJTAG線連接連接好計算機并口線和實驗板(3)實驗板上電使用USB線連接號計算機和實驗板,若連接成功JTAG仿真器和實驗板上相應(yīng)的LED均會發(fā)亮4.3、HJTAG的啟動和配置(保證實驗板的硬件連接已成功)(1)運行桌面上的H-JTAG。H-JTAG此時會自動執(zhí)

4、行檢測操作。用戶也可以通過H-JTAG的菜單/工具欄進行檢測。如果檢測成功,H-JTAG主界面將會顯示檢測到的芯片類型和ID。如果檢測失敗,請檢查H-JTAG設(shè)置和硬件連接。(2)在H-JTAG里將AUTODOWNLOAD選項打開(如圖),這時自動FLASH下載功能打開。AUTODOWNLOAD打開后會啟動H-Flasher,選擇“Flashselection”-“STM32F”-“STM32F103XB”(3)USB/LPT接口選擇,選擇LPT接口(4)LPTJTAG設(shè)置,選擇WIGGLER(默認(rèn),其他不變)(5)TAP設(shè)置(選擇STM32F)(6)運行桌面上的ToolConf,選擇路徑指定

5、C:KeilTOOLS.INI,點擊“config”,這一步將H-JTAG關(guān)聯(lián)到完成MDK4.10中五、實驗內(nèi)容5.1第一次實驗(1)實驗板和調(diào)試器(2)開發(fā)調(diào)試軟件MDK和HJTAG(3)工程建立和配置、程序下載和運行5.2、第二次實驗(4)基本程序程序的編寫(程序結(jié)構(gòu)、庫函數(shù)及其說明)1)程序組成的三部分:啟動代碼、固件庫程序和用戶編寫程序。(回憶第一次實驗過程)2)關(guān)于啟動代碼和固件庫程序請參看視頻3)用戶程序部分(請觀看視頻“基于固件庫的用戶代碼結(jié)構(gòu).WMV”)關(guān)于STM32基于固件庫的用戶程序一般包含以下幾部分:a、RCC復(fù)位和時鐘配置:配置主時鐘、flash時鐘、外設(shè)總線時鐘和外設(shè)

6、時鐘b、NVIC和EXTI中斷配置(如果使用就配置,不然就跨過)c、GPIO配置d、嵌入外設(shè)和控制器(如ADC、DMA等等)的配置,如果使用就配置,不使用就不配置e、運行代碼的編寫。a、b、c和d四部分都屬于STM32芯片初始化部分。程序如果使用到中斷,運行代碼部分要包括中斷服務(wù)程序的而編寫。4)操作內(nèi)容:編寫四位八段數(shù)碼管的循環(huán)顯示程序a、四位八段數(shù)碼管結(jié)構(gòu)和原理(板上使用的是共陽管)我們來看看四位八段數(shù)碼管的工作原理,如下圖。上圖展出了常用的兩種數(shù)碼管的引腳排列和內(nèi)部結(jié)構(gòu)。點亮發(fā)光二極管就是要給予它足夠大的正向壓降。如上圖左(一共a、b、c、d、e、f、g、DP八段),如果要顯示“1”則要

7、點亮b、c兩段LED;顯示“A”則點亮a、b、c、e、f、g這六段LED。(在程序中我們已經(jīng)做好碼表)b、程序配置c、實驗擴展:同時顯示1234拿其它例子學(xué)習(xí)!(5)程序調(diào)試5.3第三次實驗這次我們講解一個STM32中斷的程序。我們的程序打算實現(xiàn)如下功能:一開始,四個LED燈循環(huán)點亮;按下按鍵1,LD2和LD4循環(huán)點亮,LD1和LD3不亮;按下按鍵2,LD1和LD3循環(huán)點亮,LD2和LD4不亮。中斷的概念。分析:這時候程序需要按鍵中斷功能,需要編寫中斷程序。我的思路是,設(shè)一個全局變量LED_MODE,程序初始化時LED_MODE=0,按下按鍵1時,按鍵1的中斷程序使LED_MODE=1;按下按

8、鍵2時,按鍵2的中斷程序使LED_MODE=2;在主程序中,按照LED_MODE的值決定四個LED的亮滅模式。下面按照STM32工程結(jié)構(gòu)在我們第一次實驗的工程上編寫程序:(1)RCC。用到按鍵1和按鍵2(PD3和PD4管腳),因此要啟動GPIOD的時鐘,用到管腳外部中斷,因此要啟動AFIO時鐘。(2)NVIC中斷配置。按鍵1和按鍵2(即PD3和PD4管腳)的中斷是EXTI3_IRQChannel和EXTI4_IRQChannel。配置這兩個中斷的優(yōu)先級并開啟中斷。(3)EXTI配置。這一步實質(zhì)上還屬于NVIC部分,這里把它獨立出來。這部分作用是把上面的兩個中斷映射到PD3和PD4引腳。(4)G

9、PIO配置。LED使用到PC4-PC7為輸出上拉,按鍵使用PD3和PD4,配置為輸入浮空。(5)嵌入外設(shè)配置。沒有使用任何嵌入外設(shè),因此不用編寫關(guān)于這部分的程序。(6)主程序和服務(wù)程序的編寫。程序擴展:大家完成上面實驗后發(fā)現(xiàn),如果使用了按鍵后,LED無法返回最初的四個燈依次輪流點亮的狀態(tài)。下面我們通過增加SysTick中斷實現(xiàn)改進上面的不足。原理是這樣:利用SysTick計時25秒(程序中可修改),每25秒SysTick的中斷程序?qū)⒘頛ED_MODE=0。實驗作業(yè):1、修改程序,使功能如下:(1)一開始,四個LED燈循環(huán)點亮;(2)按下按鍵1,如果按鍵前是四個LED燈循環(huán)點亮,則LD2和LD4

10、循環(huán)點亮,LD1和LD3不亮;如果按鍵前是LD1和LD3循環(huán)點亮,LD2和LD4不亮,則變?yōu)樗膫€LED燈循環(huán)點亮;(3)按下按鍵2,如果按鍵前是四個LED燈循環(huán)點亮,則LD1和LD3循環(huán)點亮,LD2和LD4不亮;如果按鍵前是LD2和LD4循環(huán)點亮,LD2和LD4不亮,則變?yōu)樗膫€LED燈循環(huán)點亮。2、有能力的同學(xué)觀看中斷優(yōu)先級,自行編寫例程中的定時器等程序。5.4第四次實驗本來實驗要講解UCOS系統(tǒng)的移植的,鑒于同學(xué)們的基礎(chǔ)問題,我們繼續(xù)深入STM32的編程。關(guān)于UCOS系統(tǒng)的移植問題,請大家報名參加暑期相關(guān)培訓(xùn)。這次我們講解一個STM32外設(shè)使用的程序。講解一個常用的外設(shè)USART(通用串行異

11、步收發(fā)器)1、擬定的程序功能如下:一開始,四個LED燈循環(huán)均不亮;通過上位機軟件通過串口傳輸字符1-4到實驗板,實驗板功能根據(jù)收到的字符點亮相應(yīng)的LED,比如收到字符“1”,LD1亮,其它不亮,收到收到字符“2”,LD2亮,其它不亮;(串口接收字符時以回車為結(jié)束)如果收到的字符不屬于1-4,實驗板通過串口回傳字符串”error,theinputnumbermustbetween14.”2、關(guān)于UART和RS2323、功能分析:第一步關(guān)鍵是如何使用STM32的UART進行收發(fā)數(shù)據(jù);第二部是根據(jù)接收到的數(shù)據(jù)進行LED的操作。4、準(zhǔn)備工作查閱STM32微控制器參考手冊關(guān)于UART的章節(jié)查看固件庫的中

12、文手冊了解固件庫提供的函數(shù)加入我們使用STM32的USART1,查看STM32原理圖,知它們是PA9、PA10。5、實驗板硬件連接,將桌面上的串口線連接到實驗板上的J1,即左邊開始數(shù)的第二個DB9口,連接好仿真器然后器件上電6、下面按照STM32工程結(jié)構(gòu)在我們第一次實驗的工程上編寫程序:(1)RCC。USART1用到PA9和PA10,因此要啟動GPIOA的時鐘,管腳屬于外設(shè)復(fù)用因此要開啟USART1和AFIO時鐘。LED用到GPIOC時鐘。(2)NVIC中斷配置。USART數(shù)據(jù)的發(fā)送和接收使用查詢方式,中斷不用,因此這部分無程序代碼。(3)GPIO配置。LED使用到PC4-PC7為輸出上拉,USART1使用PA9作為發(fā)送TX管腳,配置為選擇性的上拉和使

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論