在51和STM32单片机上使用面向对象的编程,第一篇:炫酷地点亮一盏LED灯

这篇博客探讨了如何在51和STM32单片机上采用面向对象的方法点亮及控制LED灯,通过结构体和函数封装实现了LED的初始化和闪烁功能。对比传统方式,这种方法更便于代码扩展和维护,突显了面向对象的封装和继承思想。作者还提到后续会分享更多相关工程实践。
摘要由CSDN通过智能技术生成

我们学单片机,第一个程序就是点亮一盏LED灯,那么我单片机开启面向对象方式的第一步也是点亮一盏LED灯,这里主要是用到了继承和封装的2个概念;

这里我们先讲一下,使用传统的一些LED操作,并分析这些操作有什么问题:

以前我点亮一盏LED是这样的

#define LED1 PAout(1)
#define LED_ON  1
#define LED_OFF 0
void LED1_Init()
{
   ......;//初始化IO口之类的函数
}
LED1 = LED_ON; //点亮
这样写有这么几个问题点击打开链接

1:我每增加一个灯,就要写一段LED初始化代码,要定义一个端口;

void  SetLedGPIOCMD(struct CLASS_LED * p, GPIO_TypeDef* GPIOx, u16 GPIO_Pin)
{
  GPIO_InitTypeDef GPIO_InitStructure;

  
  GPIO_InitStructure.GPIO_Pin  = GPIO_Pin ;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 
  GPIO_InitS
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值