完成呼吸灯

master
高宏宇 11 months ago
parent 8dcbd539d7
commit 61eaa8a97c

@ -623,7 +623,40 @@ main.c 的92行用户代码
上述代码是以查询方式启动TIM4的PWM因为没有使用中断。htim4是TIM4的结构体该结构书上没有说明和定时中断中的结构体是一致的可以理解成C语言的对象包括数据与很多函数指针。
## 4.6. 进阶任务:实现呼吸灯(略)
## 4.6. 进阶任务:实现呼吸灯
1. 查看绿色LED所属的定时器通道是TIM3的通道2
2. 设置TIM3
![image-20240929150617735](./img/image-20240929150617735.png)
3. 加入代码:
```c
/* USER CODE BEGIN 2 */
int duty = 0;
int step = 1;
HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_2);
/* USER CODE END 2 */
```
和:
```c
/* USER CODE BEGIN WHILE */
while (1) {
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
for (duty = 0; duty < 100; duty = duty + step) {
__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_2, duty);
HAL_Delay(50);
}
}
/* USER CODE END 3 */
```
问题:这里的呼吸灯不是真正的呼吸,而是逐渐变到最亮后突然变暗;请思考如何改进?
# 5. 输入捕获功能

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Loading…
Cancel
Save