⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 STM8s
💻 C
字号:
/* MAIN.C file
 * 
 * Copyright (c) 轩微科技
 本程序功能为让轩微科技STM8S105S4开发板板载三只LED同时点亮,在按下左物理键时灯灭,松时再亮
 本程序使用ST官方库进行操作.
 轩微科技保留所有权利.
 */

#include "stm8s.h"
#include "stm8s_uart2.h"
#include "stm8s_gpio.h"

main()
{
	unsigned char keyOldStatus=1,keyNewStatus=0;
	//反初始化串口
	UART2_DeInit();
	//初始化串口
	UART2_Init(38400,UART2_WORDLENGTH_8D,UART2_STOPBITS_1,UART2_PARITY_NO, UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TX_ENABLE);
	//串口发送串口初始化完成信息
	putStrLine("串口初始化完成.");
	//反初始化GPIOD 
	GPIO_DeInit(GPIOD);
	//实始化GPIOD,配置其第0,2,3位为推挽输出,高电平.
	GPIO_Init(GPIOD, GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3, GPIO_MODE_OUT_PP_HIGH_FAST);
	//初始化左物理按键引脚状态为高阻输入态
	GPIO_Init(GPIOD,GPIO_PIN_7,GPIO_MODE_IN_FL_NO_IT);
	//串口发送IO初始化完成信息
	putStrLine("GPIO初始化完成");
	//进入大循环,进行按键查询方式检测.
	while (1)
	{
		//保存此次键态
		keyNewStatus=GPIO_ReadInputPin(GPIOD,GPIO_PIN_7);
		//与前键态对比
		if(keyOldStatus!=keyNewStatus)
		{			
			//如键态改变,则变灯状态
			GPIO_WriteReverse(GPIOD, GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3);
			putStrLine("左物理按键状态已变,LED状态已改变.");
		}
		//更新老键态
		keyOldStatus=keyNewStatus;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -