使用STM32和HAL库实现呼吸灯效果
创作时间:
作者:
@小白创作中心
使用STM32和HAL库实现呼吸灯效果
引用
1
来源
1.
https://www.cnblogs.com/hack747/p/18508491
本文将介绍如何使用STM32F103C8微控制器和HAL库实现呼吸灯效果。通过配置通用定时器生成PWM信号,可以控制LED的亮度变化,实现渐亮渐灭的效果。
硬件环境
- 开发板:STM32F103C8
- 仿真软件:Proteus 8
- 开发平台:STM32CubeMX + Keil
1. 新建STM32CubeMX工程
1.1 配置系统时钟RCC
1.2 配置定时器
这里使用PB3和PA15一对引脚。在TIM2定时器中,选择内部时钟作为时钟源,并配置通道1和通道2为PWM输出模式。
2. 代码实现
2.1 定义变量
uint16_t pulse=0; /*占空比,重装载值设置为999*/
uint8_t flag=1; /*LED标志位,用于判断是渐亮还是渐灭*/
2.2 主函数
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_TIM2_Init();
/* USER CODE BEGIN 2 */
//启动定时器2通道1的PWM
HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1);
//启动定时器2通道2的PWM
HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_2);
uint16_t pulse=0; /*占空比,重装载值设置为999*/
uint8_t flag=1; /*LED标志位,用于判断是渐亮还是渐灭*/
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
if (flag==1) /*执行LED渐亮*/
{
if (pulse<1000)
{
pulse+=50; /*占空比增大*/
__HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_1,pulse); /*修改占空比*/
HAL_Delay(100);
}
else
flag=0; /*切换为渐灭模式*/
}
else /*执行LED渐灭*/
{
pulse-=50; /*占空比减小*/
__HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_1,pulse); /*修改占空比*/
HAL_Delay(100);
if (pulse==0)
{
flag=1; /*切换为渐亮模式*/
}
}
}
}
通过上述配置和代码实现,可以成功实现LED的呼吸灯效果。这个项目展示了如何使用STM32的通用定时器生成PWM信号,并通过软件控制实现LED的渐亮渐灭效果。
热门推荐
吃木薯有什么好处和坏处?对血糖的影响如何?
Apache配置多个虚拟主机的方法详解
小孩脸上出白斑的原因有哪些
家里有事请假不批违反劳动法吗
探寻命莲寺与神灵殿:信仰与文化的交汇点
门口放五帝钱有什么讲究?如何正确悬挂以招财辟邪
飞机恐惧症怎么克服
专家共议苯丙酮尿症防治:早筛早诊是关键,特医食品发展面临挑战
成功逆袭,世界看多中国
童谣暗藏"洪武正韵"战歌密码!玉盘到马兰开花,聆听强国史诗!
轰38+22+5!仅一年成全明星,伦纳德分析透彻,哈登喂出新巨头了
马铃薯淀粉:从制作到应用的全面解析
近期全球市场的交易主线
头条号发文的最佳时间段
精打细算的年轻人,带火五一县城游
猪油起白点是坏了吗?猪油保存和食用全攻略
解密|石破天惊:山西忻州九原岗北朝壁画隐藏着“失传”的“山海经”神兽
孩子考试焦虑,如何重拾信心?
如此喝汤,身体遭殃!喝汤的五大错误,别再犯了
脉冲强光杀菌技术:原理、设备与应用前景
保研路上的人际网络:如何利用校友资源,拓宽保研路?
“吃吃喝喝”也有学问?胃部手术后患者切记管住嘴
得了萎缩性胃炎,在饮食上有什么注意的!
吉他入门必学曲目推荐:从简单儿歌到经典民谣
成都师范银都紫藤小学:打造有热度、温度和能见度的智慧体育
地铁5号线、越城天地、中冶和记洋行……南京城建,大提速!
怎么判断是不是痤疮
燃油车逆袭真相:政策退坡+技术瓶颈下的市场大反转
把办公楼划分60个“社区”,谷歌正式启用纽约哈德逊总部
平时怎样预防肝内胆管结石发生