国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

廊坊電商網(wǎng)站建設(shè)2022年最火的關(guān)鍵詞

廊坊電商網(wǎng)站建設(shè),2022年最火的關(guān)鍵詞,品牌網(wǎng)站建設(shè),網(wǎng)絡(luò)哪個(gè)公司好目錄 一、初始化GPIO口 二、按鍵點(diǎn)亮LED燈(輪詢法) 一、初始化GPIO口 1、點(diǎn)亮LED小燈前,需要先初始化GPIO口 HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init) GPIO_TypeDef *GPIOx: //指初始化GPIO…

目錄

一、初始化GPIO口

二、按鍵點(diǎn)亮LED燈(輪詢法)


一、初始化GPIO口

1、點(diǎn)亮LED小燈前,需要先初始化GPIO口

HAL_GPIO_Init(GPIO_TypeDef ?*GPIOx, GPIO_InitTypeDef *GPIO_Init)
GPIO_TypeDef ?*GPIOx:        //指初始化GPIO輸出口的第幾組
GPIO_InitTypeDef *GPIO_Init: //是一個(gè)結(jié)構(gòu)體指針typedef struct
{uint32_t Pin;? ? ? ? ? ?//GPIO輸出口第幾組的第幾根uint32_t Mode;? ? ? ?   // 一個(gè)模式uint32_t Pull;? ? ? ? ? //電阻的上拉與下拉模式uint32_t Speed;? ? ?    // 引腳的速度設(shè)置
} GPIO_InitTypeDef;
2、GPIO口初始化函數(shù)定義
void MX_GPIO_Init(void)
{GPIO_InitTypeDef GPIO_InitStruct = {0};   //定義一個(gè)結(jié)構(gòu)體變量/* GPIO Ports Clock Enable */__HAL_RCC_GPIOA_CLK_ENABLE();      //打開GPIO口時(shí)鐘,GPIO口才可以使用__HAL_RCC_GPIOB_CLK_ENABLE();      //打開GPIO口時(shí)鐘,GPIO口才可以使用/*Configure GPIO pin Output Level */HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8|GPIO_PIN_9, GPIO_PIN_RESET);  //指定某一個(gè)GPIO引腳輸出1或者0,GPIOB指GPIO口第B組,//GPIO_PIN_8指GPIO口B組的第八根,//GPIO_PIN_RESET指的是GPIO_PIN_8輸出低電平/*Configure GPIO pins : PB8 PB9 */GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;   //設(shè)置GPIO輸出口的引腳GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;    //推挽輸出;推挽輸出可以真正能真正的輸出高電平和低電平GPIO_InitStruct.Pull = GPIO_NOPULL;            //既不上拉也不下拉電阻GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;   //引腳速度設(shè)置低速HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);        //初始化GPIO輸出口,GPIOB指GPIO的第B組,&GPIO_InitStruct是一個(gè)結(jié)構(gòu)體指針}

?3、指定某一個(gè)GPIO引腳輸出1或者0的函數(shù)

HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)GPIO_TypeDef *GPIOx:   指GPIO輸出口的第幾組
uint16_t GPIO_Pin:     指GPIO輸出口第幾組的第幾個(gè)引腳
GPIO_PinState PinState:指的是GPIO第幾組的第幾個(gè)引腳輸出低電平還是高電平GPIO_PIN_RESET? ? ?     指定GPIO口輸出0(低電平)
GPIO_PIN_SET? ? ? ? ? ? 指定GPIO口輸出1(高電平)

4、推挽輸出與開漏輸出

GPIO_MODE_OUTPUT_PP; ? ?//推挽輸出;推挽輸出可以真正能真正的輸出高
GPIO_MODE_OUTPUT_OD ?   // 開漏輸出;只能輸出低電平

5、翻轉(zhuǎn)函數(shù)(比如原來是低,調(diào)用此函數(shù)后就變成高)

void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);GPIO_TypeDef *GPIOx:   指GPIO輸出口的第幾組
uint16_t GPIO_Pin:     指GPIO輸出口第幾組的第幾個(gè)引腳

二、按鍵點(diǎn)亮LED燈(輪詢法)

輪詢(Polling)模式:
每個(gè)外圍設(shè)備提供一個(gè)或多個(gè)狀態(tài)信息,CPU逐次讀入并測(cè)試各個(gè)外圍設(shè)備的狀態(tài)信息,若該外圍設(shè)備請(qǐng)求服務(wù)(請(qǐng)求交換信息),則為之服務(wù),然后清除該狀態(tài)信息。否則,跳過,查詢下一個(gè)外圍設(shè)備的狀態(tài)。各外圍設(shè)備查詢完一遍后,再返回從頭查詢起,直到發(fā)出停止命令為止。但是在查詢式I/O方式下,CPU要不斷地讀取狀態(tài)字和檢測(cè)狀態(tài)字,不管那個(gè)外圍設(shè)備是否有服務(wù)請(qǐng)求,都必須一一查詢,許多次的重復(fù)查詢,可能都是無用的,而又占去了CPU的時(shí)間,效率較低。

操作思路

輸入(按鍵):
KEY1:PA0
KEY2:PA1


輸出(LED燈):
LED1:PB8
LED2:PB9

1、讀取引腳的電平狀態(tài)、函數(shù)返回值為0或1

HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)GPIO_TypeDef *GPIOx:   指GPIO輸入口的第幾組
uint16_t GPIO_Pin:     指GPIO輸入口的第幾組的第幾個(gè)引腳

2、自定義一個(gè)按鍵點(diǎn)亮LED燈Key_Scan函數(shù)

#define KEY_ON  0
#define KEY_OFF 1uint8_t Key_Scan(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
{if(HAL_GPIO_ReadPin(GPIOx,GPIO_Pin) == GPIO_PIN_RESET ){//按鍵按下的狀態(tài)while(HAL_GPIO_ReadPin(GPIOx,GPIO_Pin) == GPIO_PIN_RESET); //防抖的作用return KEY_ON;}else{//按鍵松開的狀態(tài)return KEY_OFF;}
}

3、把Key_Scan放進(jìn)到main函數(shù)中

int main(void)
{HAL_Init();             //HAL庫函數(shù)初始化SystemClock_Config();   //系統(tǒng)時(shí)鐘初始化MX_GPIO_Init();         //GPIO初始化while (1){/* USER CODE END WHILE *///HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8|GPIO_PIN_9, GPIO_PIN_RESET);if(Key_Scan(GPIOA,GPIO_PIN_0) == KEY_ON ){     //GPIO口的輸入口HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_8);      //翻轉(zhuǎn)電平函數(shù),GPIO口的輸出口,翻轉(zhuǎn)一次B8的電平}if(Key_Scan(GPIOA,GPIO_PIN_1) == KEY_ON ){     //GPIO口的輸入口HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_9);      //翻轉(zhuǎn)電平函數(shù),GPIO口的輸出口,翻轉(zhuǎn)一次B9的電平}}
}

結(jié)果演示

http://aloenet.com.cn/news/32575.html

相關(guān)文章:

  • 武漢金佳言網(wǎng)站建設(shè)免費(fèi)建站的網(wǎng)站有哪些
  • 我們做網(wǎng)站 出教材 辦育心經(jīng)武漢競(jìng)價(jià)托管公司
  • 無代碼做網(wǎng)站seo教程培訓(xùn)班
  • 甌北網(wǎng)站制作百度影響力排名順序
  • 網(wǎng)站建設(shè)與維護(hù)超級(jí)外鏈吧外鏈代發(fā)
  • 網(wǎng)站建設(shè)期末實(shí)踐報(bào)告網(wǎng)絡(luò)輿情監(jiān)測(cè)
  • 華為云速建站可以做英文網(wǎng)站百度怎么做自己的網(wǎng)頁
  • wordpress數(shù)據(jù)查詢?nèi)绾蝺?yōu)化關(guān)鍵詞搜索
  • 視頻當(dāng)背景圖片 網(wǎng)站開發(fā)企業(yè)文化培訓(xùn)
  • 怎么在網(wǎng)站里做網(wǎng)頁免費(fèi)網(wǎng)絡(luò)營銷推廣軟件
  • 做網(wǎng)站的公司中國聯(lián)通業(yè)績
  • 網(wǎng)頁制作素材按鈕圖標(biāo)seo編輯招聘
  • 做服裝要看國外哪些網(wǎng)站長尾關(guān)鍵詞挖掘
  • 兩學(xué)一做材料上哪個(gè)網(wǎng)站找最佳的搜索引擎
  • 可以自己做網(wǎng)站優(yōu)化嗎體驗(yàn)式營銷經(jīng)典案例
  • 門戶網(wǎng)站建設(shè)談判搜狗站長平臺(tái)主動(dòng)提交
  • 網(wǎng)站開發(fā)的具體流程網(wǎng)站發(fā)布平臺(tái)
  • 西寧網(wǎng)站seo公司seo推廣效果
  • 國內(nèi)頂尖網(wǎng)站設(shè)計(jì)公司口碑營銷的定義
  • 免費(fèi)做外貿(mào)的網(wǎng)站深圳谷歌推廣公司
  • 幫彩票網(wǎng)站做流量提升seo賺錢方式
  • 東莞網(wǎng)站建設(shè) 環(huán)保設(shè)備自創(chuàng)網(wǎng)站
  • 武漢建站中心百度廣告競(jìng)價(jià)排名
  • 淘客網(wǎng)站要怎么做黑帽seo技巧
  • 政府網(wǎng)站建設(shè)事例常見的推廣方式有哪些
  • 遼河油田建設(shè)有限公司網(wǎng)站找個(gè)網(wǎng)站
  • 9420高清免費(fèi)視頻在線觀看武漢抖音seo搜索
  • 做網(wǎng)站需要懂什么廣州網(wǎng)頁定制多少錢
  • 做怎么樣的網(wǎng)站好如何自己弄個(gè)免費(fèi)網(wǎng)站
  • 怎么做一元購網(wǎng)站代運(yùn)營公司哪家好一些