日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]一、實驗?zāi)康耐ㄟ^控制戰(zhàn)艦STM32開發(fā)板上的兩個LED燈:DS0和DS1交替閃爍,實現(xiàn)類似跑馬燈的效果。二、STM32 IO簡介STM32 的每個 IO 端口都有 7 個寄存器來控制。他們分別是:配置模式的 2 個 32 位的端口配置寄存器 C

一、實驗?zāi)康?/p>

通過控制戰(zhàn)艦STM32開發(fā)板上的兩個LED燈:DS0和DS1交替閃爍,實現(xiàn)類似跑馬燈的效果。


二、STM32 IO簡介


STM32 的每個 IO 端口都有 7 個寄存器來控制。他們分別是:配置模式的 2 個 32 位的端口配置寄存器 CRL 和 CRH; 2 個 32 位的數(shù)據(jù)寄存器 IDR 和 ODR; 1 個 32

位的置位/復(fù)位寄存器BSRR;一個 16 位的復(fù)位寄存器 BRR; 1 個 32 位的鎖存寄存器 LCKR。



8種模式:

1、 輸入浮空
2、 輸入上拉
3、 輸入下拉
4、 模擬輸入
5、 開漏輸出
6、 推挽輸出
7、 推挽式復(fù)用功能
8、 開漏復(fù)用功能


IO 操作步驟:


1) 使能 IO 口時鐘。調(diào)用函數(shù)為 RCC_APB2PeriphClockCmd()。
2) 初始化 IO 參數(shù)。調(diào)用函數(shù) GPIO_Init()。
3) 操作 IO。


三、硬件設(shè)計


硬件只有 LED( DS0 和 DS1);DS0 接 PB5, DS1 接 PE5。


四、軟件設(shè)計

1)使用到的固件庫文件

stm32f10x_gpio.c/stm32f10x_gpio.h


stm32f10x_rcc.c/stm32f10x_rcc.h


misc.c/misc.h


stm32f10x_usart/stm32f10x_usart.h


led.c 文件

voidLED_Init(void)


{



GPIO_InitTypeDefGPIO_InitStructure;



RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE,ENABLE);//使能PB,PE端口時鐘



GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//LED0-->PB.5端口配置


GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽輸出


GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//IO口速度為50MHz


GPIO_Init(GPIOB,&GPIO_InitStructure);//根據(jù)設(shè)定參數(shù)初始化GPIOB.5


GPIO_SetBits(GPIOB,GPIO_Pin_5);//PB.5輸出高



GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//LED1-->PE.5端口配置,推挽輸出


GPIO_Init(GPIOE,&GPIO_InitStructure);//推挽輸出,IO口速度為50MHz


GPIO_SetBits(GPIOE,GPIO_Pin_5);//PE.5輸出高


}


main.c文件


intmain(void)

{

delay_init();

LED_Init();

while(1)

{

LED0=0;

LED1=1;

delay_ms(300);

LED0=1;

LED1=0;

delay_ms(300);

}

}


五、實驗結(jié)果


成功!


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉