标题:
STM32输入输出控制程序源码
[打印本页]
作者:
changechang
时间:
2020-5-26 08:29
标题:
STM32输入输出控制程序源码
基于正点原子的开发板平台,测试输入和输出,熟悉嵌入式的基本的IO控制,附带程序源码,本程序的开发基于标准库,亲测有效,通过开发板上的4个按钮(KEY_UP、KEY0、KEY1和KEY2,来控制板上的LED和蜂鸣器,通过不同的输出来控制不同的输出,具体实现为按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);//设置时钟,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翻转
LED0=!LED0;
break;
case KEY1_PRES: //控制LED1翻转
LED1=!LED1;
break;
case KEY0_PRES: //同时控制LED0,LED1翻转
// 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, 下载次数: 10)
2020-5-27 14:25 上传
点击文件名下载附件
基于标准库的IO控制程序
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1