|
基于正點原子的開發(fā)板平臺,測試輸入和輸出,熟悉嵌入式的基本的IO控制,附帶程序源碼,本程序的開發(fā)基于標(biāo)準(zhǔn)庫,親測有效,通過開發(fā)板上的4個按鈕(KEY_UP、KEY0、KEY1和KEY2,來控制板上的LED和蜂鳴器,通過不同的輸出來控制不同的輸出,具體實現(xiàn)為按WKUP 按鈕控制蜂鳴器,按KEY2按鈕控制綠燈,按KEY1按鈕控制綠燈,按KEY0按鈕,紅燈綠燈以1秒交替周期閃爍,蜂鳴器以1秒周期通斷。
單片機(jī)源程序如下:
- #include "sys.h"
- #include "delay.h"
- #include "led.h"
- #include "beep.h"
- #include "key.h"
-
- int main(void)
- {
- u8 key;
- Stm32_Clock_Init(336,8,2,7);//設(shè)置時鐘,168Mhz
- delay_init(168); //延時初始化
- LED_Init(); //初始化與LED連接的硬件接口
- BEEP_Init(); //初始化蜂鳴器IO
- KEY_Init(); //初始化與按鍵連接的硬件接口
- LED0=0; //先點亮紅燈
- while(1)
- {
- key=KEY_Scan(0); //得到鍵值
- if(key)
- {
- switch(key)
- {
- case WKUP_PRES: //控制蜂鳴器
- BEEP=!BEEP;
- break;
- case KEY2_PRES: //控制LED0翻轉(zhuǎn)
- LED0=!LED0;
- break;
- case KEY1_PRES: //控制LED1翻轉(zhuǎn)
- LED1=!LED1;
- break;
- case KEY0_PRES: //同時控制LED0,LED1翻轉(zhuǎn)
- // LED0=!LED0;
- // LED1=!LED1;
-
- while(1)
- {
- // HAL_GPIO_TogglePin(GPIOF,GPIO_PIN_8);
- // HAL_Delay(500);
- //
- LED0=0;
- LED1=1;
- BEEP=0;
- delay_ms(1000);
- LED0=1;
- LED1=0;
- BEEP=1;
- delay_ms(1000);
- LED0=0;
- LED1=0;
- BEEP=0;
- delay_ms(1000);
- LED0=1;
- LED1=1;
- BEEP=1;
- delay_ms(1000);
- }
-
- break;
-
-
- }
- }else delay_ms(10);
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
InputOutputtest.7z
(94.33 KB, 下載次數(shù): 10)
2020-5-27 14:25 上傳
點擊文件名下載附件
基于標(biāo)準(zhǔn)庫的IO控制程序 下載積分: 黑幣 -5
|
|