正点原子的阿波罗STM32H743开发板FreeRTOS环境搭建

一. 环境搭建

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状态变化。实验成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值