STM32 實驗2報告_第1頁
STM32 實驗2報告_第2頁
STM32 實驗2報告_第3頁
STM32 實驗2報告_第4頁
STM32 實驗2報告_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗2 MINI STM32按鍵控制LED燈實驗一、 實驗目的1、 掌握嵌入式程序設計流程。2、 熟悉STM32固件庫的基本使用。二、 實驗內(nèi)容1、 編程使用I/O口作為輸入,控制板載的兩個LED 燈。2、 使用固件庫編程。三、 實驗設備硬件: PC機 一臺 MINI STM32開發(fā)板 一套軟件: RVMDK V3.8 一套 Windows XP 一套四、 實驗步驟1、 設計工程,使用固件庫來編程設置。1.1、在這里我們建立一個文件夾為: STM32-Projects. 點擊Keil 的菜單:Project >New Uvision Project ,然后將目錄定位到剛才建立的文件夾ST

2、M32-Projecst 之下,在這個目錄下面建立子文件夾 shiyan1, 然后定位到 shiyan1目錄下面,我們的工程文件就都保存到shiyan1 文件夾下面。工程命名為shiyan1, 點擊保存. 1.2、這里我們定位到STMicroelectronics 下面的STM32F103RB( 針對我們的mini 板子是這個型號。1.3、彈出對話框“Copy STM32 Startup Code to project .”,詢問是否添加啟動代碼到我們的工程中,這里我們選擇“否”,因為我們使用的ST固件庫文件已經(jīng)包含了啟動文件。1.4、接下來,我們在 Template 工程目錄下面,新建3 個

3、文件夾 CORE, USER, STM32F10x_FWLib 。USER 用來放我們主函數(shù)文件 main.c, 以及其他包括system_stm32f10x.c 等等,CORE 用來存放啟動文件等,STM32F10x_FWLib 文件夾顧名思義用來存放ST官方提供的庫函數(shù)源碼文件.1.5、.打開官方固件庫包,定位到我們之前準備好的固件庫包的目錄。STM32F10x_StdPeriph_Lib_V3.5.0LibrariesSTM32F10x_StdPeriph_Driver 下面,將目錄下面的src,inc 文件夾 copy 到我們剛才建立的STM32F10x_FWLib 文件夾下面。1.6

4、、我們將文件加入我們的工程中去。右鍵點擊Target1,選擇 Manage Components 1.7、把將固件庫包里面相關的啟動文件復制到我們的工程目錄 CORE 之下。 打開官方固件庫包,定位到目錄。STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3CoreSupport 下面,將文件core_cm3.c 和文件 core_cm3.h 復制到 CORE 下面去。 STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10xstartuparm 下面,將里面所有的文

5、件同樣復制到 CORE 下面1.8、定位到目錄:STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10x 將里面的三個文件stm32f10x.hsystem_stm32f10x.csystem_stm32f10x.h,復制到我們的USER 目錄之下。然后STM32F10x_StdPeriph_Lib_V3.5.0ProjectSTM32F10x_StdPeriph_Template 下面的4 個文件main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h復制到

6、 USER 目錄下面1.9、Project Targets 一欄,我們將 Target 名字修改為Template, 然后在 Groups 一欄刪掉一個,建立三個Groups :USER,CORE,FWLIB.點擊OK.可以看到我們的Target 名字以及Groups 情況。1.10、往 Group 里面添加我們需要的文件。右鍵點擊點擊Tempate,選擇選擇Manage Components.然后選擇需要添加文件的 Group,這里第一步我們選擇 FWLIB,然后點擊右邊的 Add Files,定位到我們剛才建立的目錄STM32F10x_FWLib/src 下面,將里面所有的文件選中(Ctr

7、l+A) ,然后點擊Add ,然后Close. 1.11、用同樣的方法,將 Groups 定位到CORE 和USER 下面,添加需要的文件。這里 我們的CORE 下面需要添加的文件為core_cm3.c ,startup_stm32f10x_md.s ,USER 目錄下面需要添加的文件為main.c,stm32f10x_it.c,system_stm32f10x.c. 這樣我們需要添加的文件已經(jīng)添加到我們的工程中去了,最后點擊 OK,回到工程主界面 1.12、下面我們要告訴 MDK,在哪些路徑之下搜索相應的文件。回到工程主菜單,點擊魔術(shù)棒 ,出來一個菜單,然后點擊 c/c+ 選項. 然后點擊

8、Include Paths 右邊的按鈕。 彈出一個添加path 的對話框,然后我們將圖上面的 3 個目錄添加進去。記住,keil 只會在一級目錄查找,所以如果你的目錄下面還有子目錄,記得path 一定要定位到最后一級子目錄。然后點擊OK. 1.13、定位到 c/c+ 界面,然后復制“STM32F10X_MD,USE_STDPERIPH_DRIVER” 到 Define里面。1.14、把編寫好的主函數(shù)放在USER里。1.15、下面還需要配置,讓編譯之后能夠生成hex 文件。同樣點擊魔術(shù)棒,進入配置菜單,選擇Output 。然后勾上下三個選項。 1.16、編譯代碼,可以看到生成了 hex 文件,這

9、個文件我們用 mcuisp 下載到 mcu。1.17、編譯結(jié)果2、編寫代碼,實現(xiàn)I/O編程及LED 控制;#include "led.h"#include "delay.h"#include "sys.h"#include "key.h"int main(void) u8 t; SystemInit(); /系統(tǒng)時鐘設置delay_init(72); /延時初始化NVIC_Configuration();/設置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應優(yōu)先級 LED_Init();/初始化與LED連接的硬件接口K

10、EY_Init();/初始化與按鍵連接的硬件接口while(1)t=KEY_Scan();/得到鍵值 if(t) switch(t) case 1:LED0=!LED0;break;case 2:LED1=!LED1;break;case 3:LED0=!LED0;LED1=!LED1;break;else delay_ms(10); 3、 實驗現(xiàn)象:按下 同時控制兩盞燈的亮滅。 按下 就紅燈亮,按下 就紅綠亮。五、實驗與總結(jié)有了上次實驗,這次試驗相對來說難度沒那么大,使用固件庫的基本流程都已學會,可以說是比較熟悉了。而由于借出過一次軟件了,所以對軟件也比較熟悉,操也作起來比較熟練,沒有第一次那么陌生了,慢慢來總會有進步的。對于這次試驗,感覺沒什么難度,可能是比較熟悉的原因吧,很快就可以做好了。但是,在實驗過程中卻遇到了一個比較大的問題,就是下載的時候老是檢查不到通道,試過很多種方法都沒有成功,這就導致

溫馨提示

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

評論

0/150

提交評論