我们学单片机,第一个程序就是点亮一盏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