以前呼吸灯都是用手编现在有了CUBEMX了,用它设:
点要做呼吸灯的管脚,选择通道然后在定时器里选择:
然后在MAIN.c里一定要加入这句话:
HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_4);
就是使能通道的PWM输出,这句话不加是不好用地。
具体的程序如下:
int main(void)
{
/* USER CODE BEGIN 1 */
uint16_t dutyCycle=0;
uint8_t dir=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_TIM4_Init();
/* USER CODE BEGIN 2 */
HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_4);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
while (dutyCycle < 1000)
{
dutyCycle ++;
__HAL_TIM_SET_COMPARE(&htim4, TIM_CHANNEL_4, dutyCycle);
HAL_Delay(1);
}
while (dutyCycle)
{
dutyCycle --;
__HAL_TIM_SET_COMPARE(&htim4, TIM_CHANNEL_4, dutyCycle);
HAL_Delay(1);
}
HAL_Delay(200);
}
/* USER CODE END 3 */
}
编译通过后下入板子,按下复位键,看到呼吸灯闪了。
本帖最后由 ddllxxrr 于 2022-9-14 20:19 编辑直接移植就能用?
主频设置应该有差异吧?
引用: freebsder 发表于 2022-9-15 22:49 这套壳抄的可以呀,cube直接上,省了多少移植。
恩,国产地神奇就在这,什么都可以用,最主要的是好用价钱便宜。我觉得好用才是硬道理。