利用HAL库生成FreeRTOS代码

 时间:2024-10-25 04:58:22

1、首先,新建一个STM32CubeMX工程,在工程的“Pinout”页展开"FreeRTOS”项,勾选“Enabled”使能FreeRTOS功能。

利用HAL库生成FreeRTOS代码

2、原则上,使能FreeRTOS后即可直接生成代码,但是会弹出下面的对话框。原因在于选择了“Syst坡纠课柩ick”做时间基准,洹彭岣啬而通常FreeRTOS避免直接使用它做时间基准,点击“Yes”可以忽略警告,如果不放心那么点击“No”重新编辑。

利用HAL库生成FreeRTOS代码

3、回到工程界面,切换到“Pinout”页,展开左侧的“SYS”,在Timebase Source右侧的列表中选择SysTick以外的单元,比如"TIM2",如果该TIM为灰色那么肯定是被其他功能占用了。

利用HAL库生成FreeRTOS代码
利用HAL库生成FreeRTOS代码

4、设置完SYS后,重新生成代码,这里选择的是Keil工程。

利用HAL库生成FreeRTOS代码
利用HAL库生成FreeRTOS代码

5、使用Keil打开刚刚生成的功臣改代码,切换到main.c,在main函数中会看到下面的代码: /涯箨唁峦* Create the thread(s) */ /* definition and creation of defaultTask */ osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 128); defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);这里实际上市创建了一个名为“defaultTask”的任务,它的任务函数名为StartDefaultTask,优先等级为Normal,堆栈长度128 。同时使用osThreadCreate创建该任务,赋值给defaultTaskHandle句柄。

利用HAL库生成FreeRTOS代码

6、右击osThreadDef选择“Go to definition of 'osThreadDef'”可以查看其详细定义。

利用HAL库生成FreeRTOS代码

7、我们可以在任务函数StartDefaultTask中添加自己的代码,比如调用printf打印一串字符。注意调用printf需要先实现fputc函数。

利用HAL库生成FreeRTOS代码

8、将代码烧录到PCB,测试如下。

利用HAL库生成FreeRTOS代码
  • 一起来捉妖怎么擂台快速打 最快攻速阵容
  • 工业声学成像仪工作原理及测试方法
  • 魔兽奥特曼大战小怪兽攻略
  • 如何快速解决穿衣小烦恼?
  • 狗狗的五大训练法则,你是如何训练狗狗的呢
  • 热门搜索
    文明礼仪的手抄报 关于传染病的手抄报 小学生感恩手抄报内容 我爱祖国手抄报资料 语文知识手抄报 安全小报手抄报图片 最漂亮的手抄报花边 语文手抄报花边 错别字手抄报 千字文手抄报