一、實(shí)驗(yàn)?zāi)康?/h2>
- 熟悉STM32 模塊的GPIO硬件連接;
- 掌握GPIO初始化配置;
- 掌握GPIO控制板上LED燈編程;
- 熟練KEIL 工程的配置,編譯,調(diào)試,下載。
二、實(shí)驗(yàn)環(huán)境
- 操作系統(tǒng):WINDOWS 10
- 開發(fā)工具:Keil 4,UartAssists
- 實(shí)驗(yàn)設(shè)備:125K RFID讀寫器模塊、JLink在線調(diào)試器、電源、PC
三、實(shí)驗(yàn)內(nèi)容
1.實(shí)驗(yàn)任務(wù)
??運(yùn)行程序后,LED燈D7、D8按照全熄滅、亮紅燈,亮藍(lán)燈、全亮的順序保持1段時(shí)間(約1秒),并循環(huán)運(yùn)行;
??本實(shí)驗(yàn)所使用的是125K RFID讀寫器模塊、JLink在線調(diào)試器、電源、PC;
2.實(shí)驗(yàn)步驟
(1)查看硬件原理圖,查找板上兩個(gè)LED D7,、D8所連接的GPIO口;
(2)打開給定STM32工程模板,工程文件在Object文件夾下。了解模板主要文件作用。生成、下載并運(yùn)行程序;
(3)添加固件庫(kù)GPIO,了解GPIO固件庫(kù)中函數(shù)的作用,參考文檔《STM32固件庫(kù)使用手冊(cè)(中文)》,重點(diǎn)分析;掌握GPIO_Init()、GPIO_SetBits()、GPIO_ResetBits()、GPIO_WriteBit()、GPIO_Write()、GPIO_ReadInputDataBit()、GPIO_ReadInputData()的作用和用法;
(4)使用循環(huán)定義延時(shí)函數(shù)Delay( ),延遲時(shí)間大約1秒;
(5)完成D7,D8的初始化函數(shù);
(6)在主函數(shù)中初始化完成后,利用GPIO_WriteBit()、GPIO_Write()函數(shù)編寫代碼控制按照D7,D8全熄滅、亮紅燈,亮藍(lán)燈、全亮,每種狀態(tài)用Delay()保持1秒,并無(wú)限循環(huán);
走馬燈效果:
源代碼:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-490967.html
#include"main.h"
#define LED1 GPIO_Pin_12
#define LED2 GPIO_Pin_13
void LightLed()
{
GPIO_SetBits(GPIOB,LED1) ; //置1全滅
GPIO_SetBits(GPIOB,LED2);
Delay_ARMJISHU(1000) ;
GPIO_ResetBits(GPIOB,LED2);//亮紅燈
Delay_ARMJISHU(1000) ;
GPIO_SetBits(GPIOB,LED2) ; //置1紅燈滅
GPIO_ResetBits(GPIOB,LED1) ;//藍(lán)燈亮
Delay_ARMJISHU(1000) ;
GPIO_ResetBits(GPIOB,LED1); //置0全亮
GPIO_ResetBits(GPIOB,LED2);
Delay_ARMJISHU(1000);
}
void Delay_ARMJISHU(__IO uint32_t nCount)//延時(shí)程序
{
unsigned int i,k ;
for(i=0;i<nCount;i++)
for(k=0;k<12000;k++);
}
void GPIO_Init_config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOB ,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_12;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode= GPIO_Mode_Out_PP;
GPIO_Init(GPIOB,&GPIO_InitStructure);
}
int main(void)
{
RCC_Configuration() ;//系統(tǒng)時(shí)鐘初始化
GPIO_Init_config();
while (1)
{
LightLed();
}
}
總結(jié)
??GPIO(英語(yǔ):General-purpose input/output),通用型之輸入輸出的簡(jiǎn)稱,功能類似8051的P0—P3,其接腳可以供使用者由程控自由使用,PIN腳依現(xiàn)實(shí)考量可作為通用輸入(GPI)或通用輸出(GPO)或通用輸入與輸出(GPIO)。GPIO 驅(qū)動(dòng)可以用作多個(gè)用途,包括管腳設(shè)置,單位設(shè)置/重置,鎖定機(jī)制,從端口管腳讀入或者向端口管 腳寫入數(shù)據(jù)。
??通過(guò)這次實(shí)驗(yàn),熟悉STM32 模塊的GPIO硬件連接;學(xué)習(xí)到了GPIO口的功能及使用方法,了解GPIO固件庫(kù)中GPIO_Init()、GPIO_SetBits()、GPIO_ResetBits()、GPIO_WriteBit()、GPIO_Write()、GPIO_ReadInputDataBit()、GPIO_ReadInputData()的作用和用法;掌握GPIO初始化配置;并掌握GPIO控制板上LED燈編程。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-490967.html
到了這里,關(guān)于【嵌入式操作系統(tǒng)】實(shí)驗(yàn)2:GPIO編程及應(yīng)用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!