stm32f103c8t6做pwm呼吸灯代码
时间: 2024-10-29 15:05:04 浏览: 68
STM32F103C8T6是一款基于Cortex-M3内核的微控制器,常用于各种嵌入式项目,包括LED灯控制。以下是基本的PWM呼吸灯代码示例,我们将使用HAL库简化编程:
```c
#include "stm32f1xx_hal.h"
// 定义GPIO和PWM参数
GPIO_TypeDef *GPIOA = GPIOA; // LED连接到GPIOA
uint16_t PWM_CHANNEL = PWM_CHANNEL_1; // 使用第1个PWM通道
TIM_HandleTypeDef htim1;
void setup(void) {
RCC_OscInitTypeDef RCC_OscInitStruct;
TIM_HandleTypeDef TimHandle;
// 配置时钟系统
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
HAL_RCC_OscConfig(&RCC_OscInitStruct);
HAL_RCC_ClockConfig(&RCC_PeriphCLKConfig, FLASH_LATENCY_5);
// 初始化GPIO
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
// 初始化PWM定时器
TimHandle.Instance = TIM1;
TimHandle.Init.Prescaler = 7999; // 根据实际频率调整预分频值
TimHandle.Init.CounterMode = TIM_COUNTERMODE_UP;
TimHandle.Init.Period = 1000; // 设置周期为1s,可以根据需要调整
TimHandle.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
HAL_TIM_PWM_Init(&TimHandle);
HAL_TIM_MspPostInit(&TimHandle); // 初始化时钟和中断
// 开启TIM1并设置PWM模式
HAL_TIM_PWM_Start(&TimHandle, TIM_CHANNEL_1);
}
void loop() {
static uint16_t dutyCycle = 0;
for (dutyCycle = 0; dutyCycle <= 1000; dutyCycle += 10): // 呼吸灯效果,从低到高再降低
HAL_TIM_OC_SetCompare(&htim1, PWM_CHANNEL, dutyCycle);
HAL_Delay(10);
}
for (dutyCycle = 1000; dutyCycle > 0; dutyCycle -= 10):
HAL_TIM_OC_SetCompare(&htim1, PWM_CHANNEL, dutyCycle);
HAL_Delay(10);
}
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pptx](https://img-home.csdnimg.cn/images/20241231044947.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)