目的:實現矩陣鍵盤的多位資料輸入
這裡以兩位資料為例
//引腳初始化pc0-pc7
void key_config()
//按鍵掃瞄函式
int keyscan(void)
gpio_write(gpioc,(gpioc->odr & 0xfff0 | 0x0001));
switch(gpioc->idr & 0x00f0)
while((gpioc->idr & 0x00f0) > 0);
gpio_write(gpioc,(gpioc->odr & 0xfff0 | 0x0002));
switch(gpioc->idr & 0x00f0)
while((gpioc->idr & 0x00f0) > 0);
gpio_write(gpioc,(gpioc->odr & 0xfff0 | 0x0004));
switch(gpioc->idr & 0x00f0)
while((gpioc->idr & 0x00f0) > 0);
gpio_write(gpioc,(gpioc->odr & 0xfff0 | 0x0008));
switch(gpioc->idr & 0x00f0)
while((gpioc->idr & 0x00f0) > 0);
return keyval;
}//輪詢檢測是否有按鍵按下,有則返回鍵值
u8 key_input(void)
}
}//冪函式運算
static u16 mys(int a)
return aa;
}//迴圈輸入資料,實現資料結合並返回
u16 key_input()
}for(j=0;j<2;j++)
return dd;
基於STM32 4x4鍵盤掃瞄2020 10 20
四行四列共八個io口,矩陣鍵盤掃瞄難點在於確定是哪個按鍵按下,微控制器不像人類長有眼睛,一看就知道按鍵在哪一行那一列。那如何確定行列值呢?沒錯利用鍵盤行列線連線的io口。仔細觀察矩陣鍵盤原理圖,每個按鍵剛好在行線列線交點,也就是說按鍵按下時行線列線連線的io口導通。利用求同存異原則,只需將行線置高列...
Vue Cli 4x 新建初始化專案
vue cli 最新版本已經出到 4.5.8 了,以往的一些配置,命令可能都不一樣了 最新的vue 專案建立不是以往的 vue init webpack 這樣很可能會一直卡死,所以多看官方文件是很重要的。那麼我們廢話不多說,開始教大家新建專案 npm install vue cli g vue cr...
STM32F10X的時鐘樹及時鐘初始化
對於初學者而言,時鐘是乙個很重要很深的概念,對於stm32晶元來講,為了實現低功耗,設計了乙個功能完善但是卻很複雜的時鐘系統,使得外圍功能的時鐘可配置,相對應的,微控制器的時鐘基本上固定的幾種,簡單配置後就能使用,而stm32的外圍功能不僅要配置,還需要在最開始就要設定這些外設時鐘,只有使能這些外設...