STM32
饱饱浪迹天涯
认知扩展与重构
展开
-
STM32_HAL Freertos按键控制LED
根据电路图,K0为用户按键,连接在PA0引脚,当K0按下时接地,引脚电平低电平。在CubeMX中设置PA0,将IO设置为输入,上拉(上拉外部悬空时,引脚为高电平)。建两个任务,如果的创建这里不解释,请参考任务创建章节。一个任务往队列中写消息,一个任务从队列中读消息。在freertos任务中,添加按键任务,通过myTask_Key不断读入PA0的引脚状态。添加一个消息队列用来给LED任务传递读取的内容。以下是消息队列常用函数。下面创建一个队列深度为16,每个消息单元为uint8_t的消息队列。原创 2024-01-06 11:37:28 · 922 阅读 · 0 评论 -
STM32_HAL中驱动775电机
在PreScaler中填入84-1,先分频为1M。本文需要1000HZ的波形周期,所以计数值为1M/1000HZ得到计数值为1000,并将1000-1填入counter period中。踏坑:在CubeMX中生成的代码中,main函数中做了MX_TIM4_Init(),让我误认为PWM已经打开了。根据选择的引脚,在CubeMX配置,选择TIM4中的Channal1和Channal2输出PWM。根据自己的电路,选择pwm输出引脚,图中PB6和PB7为板子空闲引脚,且可以复用为PWM功能。原创 2023-12-30 12:18:59 · 469 阅读 · 0 评论 -
STM432_HAL库FreeRTOS点灯
HAL时钟使用TIM1,否则若使用SysTick,这在生成代码的时候会提示与Freertos时钟有冲突。选择Serial Wire烧写模式。根据电路图,对PA8需要设置成输出模式,上拉输出高电平并增强输出电流。配置时钟树,我的外部晶振是8M的,其他的晶振根据硬件设置。在任务重添加TASK_LED任务。生成的初始化代码如下。原创 2023-12-28 20:31:07 · 467 阅读 · 0 评论