正点原子的阿波罗STM32H743开发板FreeRTOS环境搭建
如果使用STM32CubeIDE的话记得把USE_NEWLIB_REENTRANT设置成Enabled,我是用的Keil就不需要打开了。这里就创建两个任务,Led0 500ms闪烁一次,Led1 1000ms闪烁一次。编译运行,LED0每500ms状态变化,LED1每1000ms状态变化。LED引脚配置,在①处可以进行搜索引脚,设置模式,②③出进行具体的配置。把这个修改一下,我修改的是TIM7,貌
·
一. 环境搭建
1.1 软硬件选择
硬件选择:选择正点原子的阿波罗STM32H743开发板。(WCH-Link)
软件选择:STM32CubeMX + Keil + VSCode
1.2 STM32CubeMX配置
这里有个别人写好的可以参考
https://blog.csdn.net/qq_45396672/article/details/120877303
新建一个 CubeMX 工程,选择STM32H743IIT6

RCC设置

时钟系统(时钟树)配置

LED引脚配置,在①处可以进行搜索引脚,设置模式,②③出进行具体的配置

导入FreeRTOS
如果使用STM32CubeIDE的话记得把USE_NEWLIB_REENTRANT设置成Enabled,我是用的Keil就不需要打开了。

把这个修改一下,我修改的是TIM7,貌似其他的也行,具体原因忘记了
接下来就可以生成代码了,Ctrl+S保存一下
更改一下生成Keil代码
然后点击GENERATE CODE生成代码
1.3keil配置

二、代码编写
这里就创建两个任务,Led0 500ms闪烁一次,Led1 1000ms闪烁一次。
在cubemx里面创建

配置完成之后生成代码,然后在Keil里面编写代码
void StartTaskLed0(void *argument)
{
/* USER CODE BEGIN 5 */
/* Infinite loop */
for (;;)
{
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_1);
osDelay(500);
}
/* USER CODE END 5 */
}
void StartTaskLed1(void *argument)
{
/* USER CODE BEGIN StartTaskLed1 */
/* Infinite loop */
for (;;)
{
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_0);
osDelay(1000);
}
/* USER CODE END StartTaskLed1 */
}
编译运行,LED0每500ms状态变化,LED1每1000ms状态变化。实验成功。
更多推荐



所有评论(0)