STM32F103設(shè)計(jì)電路,在GPIO C口,分別接有一個(gè)開(kāi)關(guān)K1和兩個(gè)指示燈LED1和LED2。兩個(gè)燈一亮一滅,每按一下開(kāi)關(guān),兩個(gè)燈的亮滅狀態(tài)翻轉(zhuǎn)
- #include"stm32f10x.h"
- /*pc5green,6red,10button*/
- void LED_Init(void)
- GPIO_InitTypeDef GPIO_InitStructure;
- {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
- GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_6;
- GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
- GPIO_InitStructure.GPIO_Mode= GPIO_Mode_Out_PP;//輸出模式
- GPIO_Init(GPIOC,&GPIO_InitStructure);
- }
- void KEY_Init(void)
- {
- //定義一個(gè)GPIO_InitTypeDef類型的結(jié)構(gòu)體
- GPIO_InitTypeDefGPIO_InitStructure;
- //開(kāi)啟GPIO相關(guān)的外設(shè)時(shí)鐘
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
- //選擇要控制的GPIO引腳
- GPIO_InitStructure.GPIO_Pin= GPIO_Pin_10;
- //設(shè)置GPIO引腳的輸入模式
- GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IPU;//高電平
- //調(diào)用庫(kù)函數(shù)初始化GPIO
- GPIO_Init(GPIOC,&GPIO_InitStructure);
- }
- int main(void)
- {int i;
- LED_Init();
- KEY_Init();
- GPIO_ResetBits(GPIOC,GPIO_Pin_5);//green亮
- GPIO_WriteBit(GPIOC,GPIO_Pin_6,Bit_SET);//red滅
- while(1){
- if(!GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_10))
- {
- GPIO_WriteBit(GPIOC,GPIO_Pin_5,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOC,GPIO_Pin_5)));
- for(i=0;i<500000;i++) { } ;
- GPIO_WriteBit(GPIOC,GPIO_Pin_6,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOC,GPIO_Pin_6)));
- for(i=0;i<500000;i++) { };
- }
- }
- }
復(fù)制代碼
【必讀】版權(quán)免責(zé)聲明
1、本主題所有言論和內(nèi)容純屬會(huì)員個(gè)人意見(jiàn),與本論壇立場(chǎng)無(wú)關(guān)。2、本站對(duì)所發(fā)內(nèi)容真實(shí)性、客觀性、可用性不做任何保證也不負(fù)任何責(zé)任,網(wǎng)友之間僅出于學(xué)習(xí)目的進(jìn)行交流。3、對(duì)提供的數(shù)字內(nèi)容不擁有任何權(quán)利,其版權(quán)歸原著者擁有。請(qǐng)勿將該數(shù)字內(nèi)容進(jìn)行商業(yè)交易、轉(zhuǎn)載等行為,該內(nèi)容只為學(xué)習(xí)所提供,使用后發(fā)生的一切問(wèn)題與本站無(wú)關(guān)。 4、本網(wǎng)站不保證本站提供的下載資源的準(zhǔn)確性、安全性和完整性;同時(shí)本網(wǎng)站也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的損失或傷害。 5、本網(wǎng)站所有軟件和資料均為網(wǎng)友推薦收集整理而來(lái),僅供學(xué)習(xí)用途使用,請(qǐng)務(wù)必下載后兩小時(shí)內(nèi)刪除,禁止商用。6、如有侵犯你版權(quán)的,請(qǐng)及時(shí)聯(lián)系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|