你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【NUCLEO-H533RE评测】+08 初识FreeRtos

[复制链接]
〃聪聪哥哥 发布时间:2024-8-5 14:35

1:初始STM32H533的freertos操作平台

本文章简单介绍一下,在STM32H5平台上面,建立Freertos操作平台。

打开串口输出项目中的ico文件,添加freertos的驱动函数,如下图所示,首次打开的时候,由于电脑上面没有安装支持包,我们要在官网上面下载支持包,安装过程如下:

图片9.png

安装过程中,需要下载好支持包后,

图片10.png

我们只需要选择下图中的文件即可

图片11.png

点击生成代码:

打开生成的代码,在freertos中添加两个任务:

图片12.png

配置步骤如下:

定义LED闪烁和串口输出的函数指针

osThreadId_t LEDTaskHandle;

osThreadId_t usartTaskHandle;

初始化结构体

const osThreadAttr_t LEDTask_attributes = {

.name = "LEDTask",

.priority = (osPriority_t) osPriorityNormal,

.stack_size = 128 * 4

};

const osThreadAttr_t usartTask_attributes = {

.name = "usartTask",

.priority = (osPriority_t) osPriorityNormal,

.stack_size = 128 * 4

};

编写两个具体的函数

void STARTLEDTask(void *argument)

{

/ USER CODE BEGIN defaultTask /

/ Infinite loop /

for(;;)

{

HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);

HAL_UART_Transmit(&huart2,LED_str,sizeof(LED_str),10);

osDelay(500); }

/ USER CODE END defaultTask /

/ USER CODE END defaultTask /

}

void STARTusartTask(void *argument)

{

/* USER C

ODE BEGIN defaultTask / / Infinite loop */

for(;;)

{

HAL_UART_Transmit(&huart2,freertos_str,sizeof(freertos_str),10);

osDelay(1000); }

/ USER CODE END defaultTask /

/ USER CODE END defaultTask /

}

实验效果:

图片13.png

为了方便看到试验效果,这里我定义两个输出函数数组,用来显示实时的单片机工作状态。

视频连接如下:

https://www.bilibili.com/video/BV1BTadetE3g/?vd_source=fb5a6d1a3332aab1989e0f3e24f2afc1

收藏 评论0 发布时间:2024-8-5 14:35

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版