基于AT32(STM32)单片机的模块化代码之——Led代码模块化

本文介绍了基于AT32(STM32)单片机的LED代码模块化,包括在led.h文件中定义枚举类型,枚举与LED的映射,全局变量配置,以及实现点亮、关闭LED和初始化函数。还分享了一个简单的呼吸灯函数,通过调节PWM占空比实现亮度变化,并讨论了如何优化暗区闪烁问题。
摘要由CSDN通过智能技术生成

基于AT32(STM32)单片机的模块化代码之——Led代码模块化

上个文章讲了按键的模块化代码,这个文章贴一下我写的led灯部分的模块化代码,其实大同小异,按键和led灯都是gpio口的应用,不同的是用于按键的gpio口方向为输入方向,用于led灯的gpio口的方向为输出方向

1.环境介绍

平台:AT32F415单片机,雅特力公司的AT32系列单片机其实跟STM32系列单片机大同小异,包括库函数等基本都是一样的,所以这款代码无论是AT32还是STM32都是适用的。
开发环境:MDK V5 for arm

2.代码模块化思路

2.1在led.h文件中定义枚举类型,枚举应用到的led灯

//枚举led灯
typedef enum
{
	LED1_W,
	LED1_O,
	
	LED2_W,
	LED2_O,
	
	LED3_W,
	LED3_O,
	
	LED4_W,
	LED4_O,
	
	LED5_W,
	LED5_O,
	
	LED6_W,
	LED6_O,
		
	LED7_W,
	NUM_LED
}ENUM_LED;

2.2 将枚举的led与其实际应该进行映射

//将led灯与其标识的功能对应上,电热毯项目
#define LED_POWER     LED7_W

//区域1各级led对应
#define LED_Z1L1_W   	LED1_W
#define LED_Z1L1_O   	LED1_O
#define LED_Z1L2_W   	LED2_W
#define LED_Z1L2_O   	LED2_O
#define LED_Z1L3_W      LED3_W
#de
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值