STM 入門(mén)教程_第1頁(yè)
STM 入門(mén)教程_第2頁(yè)
STM 入門(mén)教程_第3頁(yè)
STM 入門(mén)教程_第4頁(yè)
STM 入門(mén)教程_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 STM32新建工程與跑馬燈實(shí)驗(yàn)打開(kāi)KEIL3:這個(gè)時(shí)候顯示的應(yīng)該是上次使用過(guò)的工程。新建工程:新建一個(gè)文件夾GPIO_led,把該工程led_test存放在剛剛建立的GPIO_led文件夾下:點(diǎn)擊保存后彈出選擇器件窗口,選擇STM32F103RB器件(選擇使用器件型號(hào))點(diǎn)擊確定后彈出:這個(gè)時(shí)候選擇“是”,工程建立成功:工程管理:(這個(gè)對(duì)于項(xiàng)目的運(yùn)行沒(méi)有必要性,只是為了方便項(xiàng)目的管理)在工程上右鍵,選擇彈出如下工程文件管理窗口:經(jīng)過(guò)操作,建立如下文件夾有備使用,這個(gè)可以根據(jù)個(gè)人編程習(xí)慣處理。新建源文件:保存:保存在Sorce子文件夾下,注意文件名為led_test.c,一定要有C后綴。把該文件

2、添加到工程:這里,如果有的人覺(jué)得不知道使用了哪些庫(kù)函數(shù),不曉得添加哪些庫(kù)文件進(jìn)入工程,有個(gè)最簡(jiǎn)單的辦法就是添加所有的固件庫(kù)函數(shù)到工程,為了方便可以直接添加:C:KeilARMRV31LIBST路徑下的STM32F10xR.LIB文件到工程的Lib.添加方法跟前面的一樣:編寫(xiě)代碼:#include "stm32f10x_lib.h"GPIO_InitTypeDef GPIO_InitStructure;/聲明GPIO_InitStructurevoid LED_Init(void) RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, EN

3、ABLE); /開(kāi)GPIOA時(shí)鐘 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 ; /configure Pin0,1 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /推挽輸出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; / 最高輸出速率50Hz GPIO_Init(GPIOA, &GPIO_InitStructure); /初始化GPIOAvoid Delay(vu32 nCount)/延時(shí)函數(shù) for(; nCou

4、nt != 0; nCount-); int main(void) LED_Init(); while(1) GPIO_SetBits(GPIOA, GPIO_Pin_0);/set GPIOC.0=1 Delay(0x8ffff); GPIO_ResetBits(GPIOA, GPIO_Pin_0);/set GPIOC.0=0 Delay(0x8ffff); GPIO_SetBits(GPIOA, GPIO_Pin_1);/set GPIOC.1=1 Delay(0x8ffff); GPIO_ResetBits(GPIOA, GPIO_Pin_1);/set GPIOC.1=0 Delay

5、(0x8ffff); 程序分析:要點(diǎn)亮這兩個(gè)LED,首先要對(duì)GPIOC進(jìn)行初始化:void LED_Init(void) RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); /開(kāi)GPIOA時(shí)鐘 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 ; /configure Pin0,1 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /推挽輸出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50M

6、Hz; / 最高輸出速率50Hz GPIO_Init(GPIOA, &GPIO_InitStructure); /初始化GPIOA第1行為對(duì)開(kāi)GPIOC時(shí)鐘,這是因?yàn)镚PIO都是掛在APB2總線上的存儲(chǔ)影射,詳細(xì)信息看技術(shù)手冊(cè):RCC_APB2PeriphClockCmd函數(shù)的詳細(xì)代碼見(jiàn)文件stm32f10x_rcc.c。void RCC_APB2PeriphResetCmd(u32 RCC_APB2Periph, FunctionalState NewState)功能就是設(shè)置APB2總線上的外設(shè)狀態(tài)。這里是設(shè)置允許GPIOC(RCC_APB2Periph_GPIOC, ENABLE)

7、;第二句就是設(shè)置需要初始化的引腳為:GPIO_Pin_0 | GPIO_Pin_1第3句為設(shè)置引腳的輸出/輸入模式為:GPIO_Mode_Out_PP;第四句為:IO口的速率為:GPIO_Speed_50MHz;第5句是調(diào)用GPIO口初始化函數(shù)初始化GPIOA要理解25句函數(shù)必須對(duì)庫(kù)文件stm32f10x_gpio.c進(jìn)行分析。GPIO庫(kù)函數(shù)簡(jiǎn)單說(shuō)明:函數(shù)名稱(chēng)功能描述GPIO_DeInit重新初始化外圍設(shè)備GPIOx相關(guān)寄存器到它的默認(rèn)復(fù)位值GPIO_AFIODeInit初始化交錯(cuò)功能(remap, event control和 EXTI 配置) 寄存器GPIO_Init根據(jù)GPIO_初始化結(jié)

8、構(gòu)指定的元素初始化外圍設(shè)備GPIOxGPIO_StructInit填充GPIO_初始化結(jié)構(gòu)(GPIO_InitStruct)內(nèi)的元素為復(fù)位值GPIO_ReadInputDataBit讀指定端口引腳輸入數(shù)據(jù)GPIO_ReadInputData讀指定端口輸入數(shù)據(jù)GPIO_ReadOtputDataBit讀指定端口引腳輸出數(shù)據(jù)GPIO_ReadOtputData讀指定端口輸出數(shù)據(jù)GPIO_SetBits置1指定的端口引腳GPIO_ResetBits清0指定的端口引腳GPIO_WriteBit設(shè)置或清除選擇的數(shù)據(jù)端口引腳GPIO_Write寫(xiě)指定數(shù)據(jù)到GPIOx端口寄存器GPIO_ANAPinConfig允許或禁止 GPIO 4 模擬輸入模式GPIO_PinLockConfig鎖定GPIO引腳寄存器GPIO_EventOutputConfig選擇GPIO引腳作為事件輸出GPIO_EventOutputCmd允許或禁止事件輸出GPIO_PinRemapConfig改變指定引腳的影射GPIO_EMIConfig允許或禁止GPIO 8 和 9 的EMI 模式 7.13JTAG的失能做流水燈使用到GPIOB3和GPIO4時(shí),你會(huì)發(fā)現(xiàn)這兩個(gè)引腳上的LED有問(wèn)題,不能像其他的LED那樣正常工作,其實(shí)不是LED損壞了,而是JTAG沒(méi)有失能.只要在端口初始化把JTAG失能就可以了.在端口初始化程序中加

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論