標題:
STM32輸入輸出控制程序源碼
[打印本頁]
作者:
changechang
時間:
2020-5-26 08:29
標題:
STM32輸入輸出控制程序源碼
基于正點原子的開發(fā)板平臺,測試輸入和輸出,熟悉嵌入式的基本的IO控制,附帶程序源碼,本程序的開發(fā)基于標準庫,親測有效,通過開發(fā)板上的4個按鈕(KEY_UP、KEY0、KEY1和KEY2,來控制板上的LED和蜂鳴器,通過不同的輸出來控制不同的輸出,具體實現(xiàn)為按WKUP 按鈕控制蜂鳴器,按KEY2按鈕控制綠燈,按KEY1按鈕控制綠燈,按KEY0按鈕,紅燈綠燈以1秒交替周期閃爍,蜂鳴器以1秒周期通斷。
單片機源程序如下:
#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);
}
}
復制代碼
所有資料51hei提供下載:
InputOutputtest.7z
(94.33 KB, 下載次數(shù): 10)
2020-5-27 14:25 上傳
點擊文件名下載附件
基于標準庫的IO控制程序
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1