版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
嵌入式系統(tǒng)原理及應(yīng)用
項目化教程項目1
點亮一個LED燈目錄1.1嵌入式ARM處理器STM321.2任務(wù)1開發(fā)環(huán)境搭建1.3任務(wù)2使用寄存器點亮一個LED燈1.1嵌入式ARM處理器STM32嵌入式系統(tǒng)概述
嵌入式系統(tǒng)是以應(yīng)用為中心,嵌入到應(yīng)用對象當(dāng)中的專用計算機(jī)系統(tǒng)。由于嵌入式系統(tǒng)具有體積小、性能強(qiáng)、功耗低、可靠性高以及面向具體應(yīng)用等特點,目前已經(jīng)廣泛地應(yīng)用于軍事國防、消費(fèi)電子、信息家電、網(wǎng)絡(luò)通信、工業(yè)控制等各個領(lǐng)域,可以說我們生活在一個充滿嵌入式的世界當(dāng)中。1.1嵌入式ARM處理器STM32ARM處理器1.1嵌入式ARM處理器STM32Cortex-M3概覽1.1嵌入式ARM處理器STM32基于CM3的微控制器1.1嵌入式ARM處理器STM32初識STM32CORTEXM3CPU
72MHz6kB-64kBSRAMARMPeripheralBus(max72MHz)2x12-bitADC
16channels/1Msps1/2xI2C0/1xSPI1/2/4xUSART/LIN
Smartcard/IrDa
ModemControl32/49/80*I/OsUpto16Ext.ITsFlashI/F32kB-512kB
FlashMemoryTempSensor1xUSB2.0FS1xbxCAN2.0B6x16-bitPWM
SynchronizedACTimer2xWatchdog
(independent&window)2/3/5x16-bitTimerExternalMemoryInterface**JTAG/SWDebugXTALoscillators
32KHz+4~16MHzPowerSupply
Reg1.8V
POR/PDR/PVDDMA
3to11*ChannelsNestedvectITCtrl2xSPI/I2S**2xDAC**1xSDIO**ImageSensor**1xUSART/LIN
Smartcard/IrDa
Modem-Ctrl1xSPIBridgeBridge1xSysticTimerARMLiteHi-SpeedBus
Matrix/Arbiter(max72MHz)Int.RCoscillators
32KHz+8MHzPLLClockControlRTC/AWUARMPeripheralBus(max36MHz)20BBackupRegs1.1嵌入式ARM處理器STM32初識STM321.1嵌入式ARM處理器STM32初識STM321.1嵌入式ARM處理器STM32初識STM321.1嵌入式ARM處理器STM32STM32命名規(guī)則1.2任務(wù)1開發(fā)環(huán)境搭建MDK安裝1.2任務(wù)1開發(fā)環(huán)境搭建MDK安裝1.2任務(wù)1開發(fā)環(huán)境搭建MDK安裝1.2任務(wù)1開發(fā)環(huán)境搭建USB轉(zhuǎn)串口驅(qū)動的安裝1.2任務(wù)1開發(fā)環(huán)境搭建開發(fā)板的資源描述1.2任務(wù)1開發(fā)環(huán)境搭建串口燒錄程序1.2任務(wù)1開發(fā)環(huán)境搭建串口燒錄程序1.2任務(wù)1開發(fā)環(huán)境搭建串口燒錄程序1.2任務(wù)1開發(fā)環(huán)境搭建串口燒錄程序1.2任務(wù)2使用寄存器點亮一個LED燈硬件設(shè)計1.2任務(wù)2使用寄存器點亮一個LED燈軟件設(shè)計1.2任務(wù)2使用寄存器點亮一個LED燈軟件設(shè)計1.2任務(wù)2使用寄存器點亮一個LED燈軟件設(shè)計1.2任務(wù)2使用寄存器點亮一個LED燈軟件設(shè)計1.2任務(wù)2使用寄存器點亮一個LED燈軟件設(shè)計1.2任務(wù)2使用寄存器點亮一個LED燈軟件設(shè)計1.2任務(wù)2使用寄存器點亮一個LED燈軟件設(shè)計1.2任務(wù)2使用寄存器點亮一個LED燈軟件設(shè)計1.2任務(wù)2使用寄存器點亮一個LED燈軟件設(shè)計1.2任務(wù)2使用寄存器點亮一個LED燈軟件設(shè)計1.2任務(wù)2使用寄存器點亮一個LED燈軟件設(shè)計#include"stm32f10x.h"
(1)voidSystemInit()
(2){}intmain(){RCC_APB2ENR|=1<<3;
(3)GPIOB_CRL&=~(0x0F<<(4*0));GPIOB_CRL|=(3<<4*0);
(4)GPIOB_BSRR=(1<<(16+0));
(5)while(1){}}1.2任務(wù)2使用寄存器點亮一個LED燈軟件設(shè)計1.2任務(wù)2使用寄存器點亮一個LED燈軟件設(shè)計1.2任務(wù)2使用寄存器點亮一個LED燈軟件設(shè)計#include"stm32f10x.h"voidSystemInit(){}voiddelay(unsignedinti){while(i--);}intmain(){RCC_APB2ENR|=1<<3;GPIOB_CRL&=~(0x0F<<(4*0));GPIOB_CRL|=(3<<4*0);GPIOB_BSRR=(1<<(16+0));while(1){GPIOB_BSRR=(1<<(16+0));delay(0xFFFFF);GPIOB_BSRR=(1<<(0));delay(0xFFFFF);}}1.2任務(wù)2使用寄存器點亮一個LED燈工程編譯與調(diào)試1.2任務(wù)2使用寄存器點亮一個LED燈測試結(jié)果
下載成功后可以看到開發(fā)板上LED0指示燈閃爍舉一反三(1)控制LED3發(fā)光二極管閃爍。(2)點亮LED0、LED1、LED2、LED3指示燈。(3)實現(xiàn)LED0、LED1、LED2、LED3指示燈交替亮滅,類似流水燈效果。嵌入式系統(tǒng)原理及應(yīng)用
項目化教程項目2流水燈控制設(shè)計與實現(xiàn)目錄2.1STM32存儲器映射2.2認(rèn)識STM32固件庫2.3任務(wù)3使用庫函數(shù)點亮流水燈2.1STM32存儲器映射存儲器分塊序號用途地址范圍Block0SRAM(FLASH)0x00000000-0x1FFFFFFF(512MB)Block1SRAM0x20000000-0x3FFFFFFF(512MB)Block2片上外設(shè)0x40000000-0x5FFFFFFF(512MB)Block3FSMC的bank1-bank20x60000000-0x7FFFFFFF(512MB)Block4FSMC的bank3-bank40x80000000-0x9FFFFFFF(512MB)Block5FSMCregister0xA0000000-0xBFFFFFFF(512MB)Block6Notused0xC0000000-0xDFFFFFFF(512MB)Block7Cortex-M3內(nèi)部外設(shè)0xE0000000-0xFFFFFFFF(512MB)2.1STM32存儲器映射總線基地址總線名稱總線基地址相對外設(shè)基地址的偏移APB10x400000000x0APB20x400100000x00010000AHB0x400180000x000180002.1STM32存儲器映射GPIO外設(shè)基地址外設(shè)名稱外設(shè)基地址相對APB2總線的地址偏移GPIOA0x400108000x00000800GPIOB0x40010C000x00000C00GPIOC0x400110000x00001000GPIOD0x400114000x00001400GPIOE0x400118000x00001800GPIOF0x40011C000x00001C00GPIOG0x400120000x000020002.1STM32存儲器映射GPIOB寄存器地址寄存器名稱寄存器地址相對GPIOB基址的偏移GPIOB_CRL0x40010C000x00GPIOB_CRH0x40010C040x04GPIOB_IDR0x40010C080x08GPIOB_ODR0x40010C0C0x0CGPIOB_BSRR0x40010C100x10GPIOB_BRR0x40010C140x14GPIOB_LCKR0x40010C180x182.2認(rèn)識STM32固件庫STM32內(nèi)部有數(shù)百個寄存器,為了方便用戶編程,提高程序的移植性,解決不同廠商的芯片軟件兼容的問題,ST公司推出了一套CMSIS(CortexMicroControllerSoftwareInterfaceStandard)標(biāo)準(zhǔn)固件庫。(1)_htmresc文件夾:存放ST公司的LOGO圖標(biāo)。(2)Libraries文件夾:在這個文件夾內(nèi)有兩個子目錄,CMSIS文件夾用于存放符合CMSIS標(biāo)準(zhǔn)的文件,包括STM32啟動文件、ARMCortex內(nèi)核文件、stm32f10x.h、system_stm32f10x.h和system_stm32f10x.c文件。啟動文件有多種,需根據(jù)使用的STM32芯片來選擇,因為開發(fā)板上使用的是大容量的STM32F1芯片,所以選擇startup_stm32f10x_hd.s。core_cm3.h屬于CMSIS的核心文件,由ARM提供,對于所有CM3內(nèi)核的芯片來說這個文件都是相同的。system_stm32f10x.h主要是申明系統(tǒng)及總線時鐘相關(guān)的函數(shù),其中就有SystemInit()函數(shù)申明,這個函數(shù)在我們系統(tǒng)啟動的時候都會調(diào)用,用來設(shè)置整個系統(tǒng)和總線時鐘。stm32f10x.h是STM32F10x的頭文件,內(nèi)部封裝了STM32的總線、內(nèi)存和外設(shè)寄存器等,同時還包含一些時鐘相關(guān)的定義和中斷相關(guān)定義等。STM32F10x_StdPeriph_Driver文件夾用于存放STM32外設(shè)驅(qū)動文件,inc目錄用于存放外設(shè)的頭文件,src目錄用于存放外設(shè)的源文件。從這些文件的命名就可以知道對應(yīng)文件的功能。(3)Project文件夾:此文件夾下有2個子目錄,STM32F10x_StdPeriph_Examples文件夾存放的是ST公司提供的外設(shè)驅(qū)動例程,在開發(fā)過程中可以借鑒這些例程快速構(gòu)建自己的外設(shè)驅(qū)動。STM32F10x_StdPeriph_Template文件夾存放的是官方的固件庫工程模板,我們后面創(chuàng)建自己工程模板的時候就需要復(fù)制此文件夾內(nèi)的幾個文件。(4)Utilities文件夾:此文件夾是ST官方評估板的一些源文件。(5)stm32f10x_stdperiph_lib_um是固件庫的幫助文檔2.3任務(wù)3使用庫函數(shù)點亮流水燈創(chuàng)建庫函數(shù)工程模板2.3任務(wù)3使用庫函數(shù)點亮流水燈配置魔法棒2.3任務(wù)3使用庫函數(shù)點亮流水燈配置宏信息2.3任務(wù)3使用庫函數(shù)點亮流水燈配置頭文件路徑2.3任務(wù)3使用庫函數(shù)點亮流水燈編譯模板工程2.3任務(wù)3使用庫函數(shù)點亮流水燈STM32GPIO結(jié)構(gòu)2.3任務(wù)3使用庫函數(shù)點亮流水燈輸入工作模式1—輸入浮空模式2.3任務(wù)3使用庫函數(shù)點亮流水燈輸入工作模式2—輸入上拉模式2.3任務(wù)3使用庫函數(shù)點亮流水燈輸入工作模式3—輸入下拉模式2.3任務(wù)3使用庫函數(shù)點亮流水燈輸入工作模式4—模擬模式2.3任務(wù)3使用庫函數(shù)點亮流水燈輸出工作模式1—開漏輸出模式2.3任務(wù)3使用庫函數(shù)點亮流水燈輸出工作模式2—開漏復(fù)用輸出模式2.3任務(wù)3使用庫函數(shù)點亮流水燈輸出工作模式3—推挽輸出模式2.3任務(wù)3使用庫函數(shù)點亮流水燈輸出工作模式4—推挽復(fù)用輸出模式2.3任務(wù)3使用庫函數(shù)點亮流水燈GPIO工作方式上電復(fù)位后,GPIO默認(rèn)為浮空狀態(tài),部分特殊功能引腳為特定狀態(tài)推挽輸出:可以輸出強(qiáng)高低電平,連接數(shù)字器件
開漏輸出:只可以輸出強(qiáng)低電平,高電平得靠外部電阻拉高。輸出端相當(dāng)于三極管的集電極.要得到高電平狀態(tài)需要上拉電阻才行.適合于做電流型的驅(qū)動,其吸收電流的能力相對強(qiáng)(一般20ma以內(nèi))2.3任務(wù)3使用庫函數(shù)點亮流水燈GPIO相關(guān)配置寄存器每組GPIO端口的寄存器包括:兩個32位配置寄存器(GPIOx_CRL,GPIOx_CRH),兩個32位數(shù)據(jù)寄存器(GPIOx_IDR和GPIOx_ODR),一個32位置位/復(fù)位寄存器(GPIOx_BSRR),一個16位復(fù)位寄存器(GPIOx_BRR),一個32位鎖定寄存器(GPIOx_LCKR)。每個I/O端口位可以自由編程,然而I/O端口寄存器必須按32位字被訪問(不允許半字或字節(jié)訪問)。2.3任務(wù)3使用庫函數(shù)點亮流水燈GPIO相關(guān)配置寄存器-GPIOx_CRL:端口配置低寄存器-GPIOx_CRH:端口配置高寄存器
-GPIOx_IDR:端口輸入寄存器-GPIOx_ODR:端口輸出寄存器
-GPIOx_BSRR:端口位設(shè)置/清除寄存器
-GPIOx_BRR:端口位清除寄存器-GPIOx_LCKR:端口配置鎖存寄存器是每組IO口含下面7個寄存器。也就是7個寄存器,一共可以控制一組GPIO的16個IO口。2.3任務(wù)3使用庫函數(shù)點亮流水燈端口配置低寄存器(GPIOx_CRL)2.3任務(wù)3使用庫函數(shù)點亮流水燈端口配置低寄存器(GPIOx_CRL)2.3任務(wù)3使用庫函數(shù)點亮流水燈端口配置高寄存器(GPIOx_CRH)2.3任務(wù)3使用庫函數(shù)點亮流水燈端口輸入數(shù)據(jù)寄存器(GPIOx_IDR)2.3任務(wù)3使用庫函數(shù)點亮流水燈端口輸出數(shù)據(jù)寄存器(GPIOx_ODR)2.3任務(wù)3使用庫函數(shù)點亮流水燈端口輸出數(shù)據(jù)寄存器(GPIOx_ODR)2.3任務(wù)3使用庫函數(shù)點亮流水燈端口位設(shè)置/清除寄存器(GPIOx_BSRR)2.3任務(wù)3使用庫函數(shù)點亮流水燈端口位清除寄存器(GPIOx_BRR)2.3任務(wù)3使用庫函數(shù)點亮流水燈使用GPIO庫函數(shù)點亮流水燈2.3任務(wù)3使用庫函數(shù)點亮流水燈LEDGPIO初始化voidLED_Init(){GPIO_InitTypeDefGPIO_InitStructure;//定義結(jié)構(gòu)體變量RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能GPIOB外設(shè)時鐘GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;//選擇要設(shè)置的IO口GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//設(shè)置推挽輸出模式GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//設(shè)置傳輸速率GPIO_Init(GPIOB,&GPIO_Ini
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 結(jié)構(gòu)設(shè)計原理課程設(shè)計致謝
- 二零二五年度企業(yè)形象標(biāo)志設(shè)計專項委托合同2篇
- 寧華樁管施工方案
- 2025年度智能農(nóng)業(yè)橙子自動化采摘技術(shù)服務(wù)合同3篇
- 2025年度消防工程驗收委托合同范本3篇
- 2025年魯人新版四年級語文下冊階段測試試卷
- 2025年人教版九年級生物上冊階段測試試卷
- 2024年華東師大版必修1化學(xué)下冊月考試卷
- 學(xué)生焦慮與抑郁的預(yù)防與干預(yù)策略
- 2025年魯科五四新版七年級科學(xué)上冊階段測試試卷
- 【APP違規(guī)收集個人信息的法律問題分析9800字(論文)】
- 商品房預(yù)售合同簽約證明和預(yù)告登記申請書
- 質(zhì)量管理體系成熟度評估表
- 國際疾病分類腫瘤學(xué)專輯第3版應(yīng)用課件
- 單體調(diào)試及試運(yùn)方案
- 2023-2024學(xué)年浙江省杭州市城區(qū)數(shù)學(xué)四年級第一學(xué)期期末學(xué)業(yè)水平測試試題含答案
- 五星級酒店市場調(diào)研報告
- 車輛剮蹭私下解決協(xié)議書(3篇)
- 網(wǎng)球技術(shù)與戰(zhàn)術(shù)-華東師范大學(xué)中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 2022-2023學(xué)年衡水市深州市小升初數(shù)學(xué)高頻考點檢測卷含答案
- 現(xiàn)代科學(xué)技術(shù)概論知到章節(jié)答案智慧樹2023年成都師范學(xué)院
評論
0/150
提交評論