
前言 本文接着上一篇文章的内容带大家学习如何编写一个完整的LED代码。 一、头文件以及宏定义的编写 led.c
在led.c中我们只需要包含.h文件即可 led.h
led.h中的定义比较多一些,需要对LED的端口进行定义方便使用,移植时只需要改写后面的代码即可使用。 还需要对常用的数据类型进行宏定义,方便书写代码。 二、框架式管理代码的精华:结构体 led.h
在led.h文件中我们定义了三个结构体,一个是管理呼吸灯属性的结构体,一个是管理闪烁灯属性的结构体。这两个结构体里面分别定义了开关变量和周期变量,通过修改开关变量可以改变LED灯的亮灭,改变周期变量可以让LED灯的呼吸频率和闪烁频率改变。 最后一个结构体作为统筹管理的结构体,他里面定义了呼吸灯结构体变量和闪烁灯结构体变量,方便调试运行。 三、函数的编写
通常我们编写这三个函数 Init做一些LED灯的初始化比如开关的状态和周期的大小。 Task函数一般放在while(1)里面轮询调用 Handle函数则放在定时器里面中断调用 |
【2025·STM32峰会】GUI解决方案实训分享5-调通板载的NRF24L01 SPI接口并使用模块进行无线通信(发送和接收)
【2025·STM32峰会】GUI解决方案实训分享2-编译运行TouchGFX咖啡机例程(含桌面仿真)
实战经验 | Keil工程使用NEAI库的异常问题
STM32 ISP IQTune:真正零门槛的免费ISP调整软件
【经验分享】STM32 新建基于STM32F40x 固件库的MDK5 工程
意法半导体MCU双供应链策略,打消中国客户后顾之忧
2024意法半导体工业峰会:赋能智能电源和智能工业,构筑可持续未来
ST推出灵活、面向未来的智能电表通信解决方案,助力能源转型
意法半导体 x Qu-Bit Electronix:推动新一轮的数字声音合成革命
从STM32 MPU产品看嵌入式系统中微处理器的新变化