
1:初始STM32H533的freertos操作平台 本文章简单介绍一下,在STM32H5平台上面,建立Freertos操作平台。 打开串口输出项目中的ico文件,添加freertos的驱动函数,如下图所示,首次打开的时候,由于电脑上面没有安装支持包,我们要在官网上面下载支持包,安装过程如下: 安装过程中,需要下载好支持包后, 我们只需要选择下图中的文件即可 点击生成代码: 打开生成的代码,在freertos中添加两个任务: 配置步骤如下: 定义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 / } 实验效果: 为了方便看到试验效果,这里我定义两个输出函数数组,用来显示实时的单片机工作状态。 视频连接如下: https://www.bilibili.com/video/BV1BTadetE3g/?vd_source=fb5a6d1a3332aab1989e0f3e24f2afc1 |
经验分享 | STM32CubeMX 生成时钟获取函数的分析
兔哥的最强U5图显【000】——U5G9最小系统绘制
兔哥的ST67——【000】ST67模组订购
基于LORA的环境感知系统
经验分享 | 使用CubeMx配置NVIC时为何不见子优先级?
经验分享 | 三个 ADC 同步模式配置以及 CubeMx 错误配置的解决方法
兔哥的边缘AI【001】——DIY-STM32N6全IO扩展板
兔哥的BLE【002】-WB09最小系统板PCB设计
兔哥的L4【001】——32脚的小板
新版STM32Cube for Visual Studio Code开发体验