赞
踩
stm32f103c8t6,usb to ttl,stm32cubemx
(1)选择合适的芯片
(2)配置RCC
(3)配置SYS
(4)配置TIM2
(5)配置NVIC
(6)配置clock configuriation
(7)配置管脚
(8)完成基本项目配置
(9)创建项目
配置定时器:
HAL_TIM_Base_Start_IT(&htim2);
中断函数:
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { static uint32_t time_cnt =0; if(htim->Instance == TIM2) { ++time_cnt; if((time_cnt>=400)) { HAL_GPIO_TogglePin(D1_GPIO_Port,D1_Pin); time_cnt =0; } } }
(1)新建并选择对应芯片
(2)配置RCC
(3)配置SYS
(4)配置TIM3
(5)配置TIM4
(6)配置clock configuriation
(7)配置管脚
(8)完成基本工程设置
(9)创建工程
先定义main函数中一个变量:
uint16_t num=10;
在while循环中修改;
while (1) { /* USER CODE END WHILE */ HAL_Delay(50); num=num+10; if(num>500){ n=num; HAL_UART_Transmit(&huart1,(uint8_t *)&n,5,1000); num=0; } __HAL_TIM_SetCompare(&htim3,TIM_CHANNEL_1,num); __HAL_TIM_SetCompare(&htim4,TIM_CHANNEL_2,num); /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */
再加上
HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_2);
3v3 3v3
gnd gnd
txd a10
rxd a9
a6 接led呼吸灯正极
这次实验让我掌握了怎样使用定时器来使led灯闪烁和呼吸的方法,以及如何使用其函数和配置相关环境,但对更深入的东西了解不够透彻。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。