历史上的今天
今天是:2025年03月08日(星期六)
2020年03月08日 | STM32开发笔记82: 使用C++语言控制LED闪烁
2020-03-08 来源:eefocus
单片机型号:STM32L053R8T6
本文介绍应用C++语言控制LED闪烁的方法。
先看电路图,单片机PB12引脚控制LED的亮灭,当PB12引脚给出低电平LED亮,当PB12引脚给出高电平LED灭。

步骤如下:
1、打开hal.h文件,建立CLed类,其从CIO_Output_OST_High类继承,CIO_Output_OST_High类为引脚输出类,OST是指其具有3个成员函数,分别为Open(打开操作),Shut(关闭操作)和Turn(翻转操作),High的意思是指其上电为高电平。
同样还有CIO_Output_OST_Low类,其上电为低电平。
class CLed:public CIO_Output_OST_High
{
public:
CLed(void);
};
2、找到CHAL类,在其增加成员变量,如下列程序所示。
class CHAL
{
public:
CLed Led;
};
3、打开hal.cpp文件,在其增加如下语句,在参数传递中,指明具体的端口号和引脚号即可。
CLed::CLed(void):CIO_Output_OST_High(PORTB, PIN12) {}
4、打开main.cpp文件,在StartDefaultTask任务中,输入如下语句,其表示Led以1秒为间隔 闪烁。
void StartDefaultTask(void const * argument)
{
while(1)
{
Target.HAL.Led.Turn();
Target.Delayms(1000);
#if IWDG_MODE != 0
Target.Iwdg.Refresh();
#endif
}
}
5、最后将程序下载到目标板,直接观察效果即可。
史海拾趣
|
做技术在慢慢培养自己的奴性,变得谨小慎微 刚毕业的时候啥也不懂,在公司自然夹着尾巴做人. 工作几年后,技术越来越纯熟了,可是也知道高手时时刻刻在自己的身边. 对自己带的新人,客客气气.对上司恭恭敬敬. ...… 查看全部问答> |
|
在天元买的j-link v8版,经过几天努力,终于可以通过sjflash 烧写nandflash了,经过试验,支持s3c2440烧写k9s1208 和 k9g1g08,s3c2410没有试验!!!!… 查看全部问答> |
|
前言: 近年,“云计算”的到来给人们的生活带来了方便、快捷以及前所未有的体验,然而“云计算”时代的到来也意味着“大数据”时代的到来,有资料表明,仅2011这一年就产生了大概4EB(2^60B)的数据量,而且在当前的数字化经济当中,每18个月数 ...… 查看全部问答> |
|
1引言 电导率作为重要的电化学分析参数。其测量已经广泛 应用于化工、冶金、生物、医学、粮食和水利等生产与科 研部门【I卅。随着生产和科研的不断深化,对电导率测量 的精度要求越来越高,对其测量方法的研究具有重要的实 际意义。 电导率的 ...… 查看全部问答> |




