银杏科技有限公司旗下技术文档发布平台 | |||
技术支持电话 | 0379-69926675-801 | ||
技术支持邮件 | Gingko@vip.163.com | ||
版本 | 日期 | 作者 | 修改内容 |
---|---|---|---|
V1.0 | 2020-07-04 | gingko | 初次建立 |
二、实验设备及平台
int main(void) { int brightness = 0; float temp = 0.0; int data = 0; /* MCU 配置*/ /* 重置所有外围设备,初始化Flash接口和Systick */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化所有已配置的外围设备 */ MX_GPIO_Init(); MX_TIM1_Init(); /* 无限循环 */ while (1) { HAL_Delay(30); if(brightness == 100){ brightness = 0; } temp = 199 * (sin(2 * PI / 99.0 * brightness) * 0.5 + 0.5); data = (int)temp; set_compare(data); brightness ++; } }
void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* tim_pwmHandle) { if(tim_pwmHandle->Instance==TIM1) { /* TIM1时钟使能*/ __HAL_RCC_TIM1_CLK_ENABLE(); } } void MX_GPIO_Init(void) { /* GPIO端口时钟使能 */ __HAL_RCC_GPIOH_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); }
void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle) { GPIO_InitTypeDef GPIO_InitStruct; if(timHandle->Instance==TIM1) { /**TIM1 GPIO 配置 PA9 ------> TIM1_CH2 */ GPIO_InitStruct.Pin = GPIO_PIN_9; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;//复用推挽输出 GPIO_InitStruct.Pull = GPIO_NOPULL;//上拉 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;//低速 GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;//PA9复用为 TIM1_CH2 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);//开始生成PWM信号 } }
int set_compare(int temp) { __HAL_TIM_SetCompare(&htim1,TIM_CHANNEL_2,temp); return 0; }