基于STM32CubeMx配置FreeRtos以及USB虚拟串口步骤详解

1.打开CubeMx软件,进行芯片选型界面

2.搜索你所使用的芯片型号,例如我用的是STM32G4T3VET3

3.根据搜索结果,双击芯片型号,进入配置工程界面

 

4.配置SYS

 Debug:推荐选择 Serial Wire (方便使用STLink打断点在线调试)

中间两项默认Disable就好

TimeBase Source:若需要配置FreeRtos则不能选择SysTick,随机选择一个TIM定时器即可,这里我选择TIM1定时器。(解释:裸机的时钟源默认是SysTick,但是开启FreeRtos后,FreeRtos会占用SysTick,用于任务调度。所以需要其他总线提供另外的时钟源)

5.配置RCC 

一般配置 HSE即可,根据整体设计原理图选择时钟源配置:

可选类型为

(1).  Disable(关闭,不使用外部时钟)

(2).  BYPASS Clock Source(旁路时钟源)

(3).Crystal/Ceramic Resonator(外部晶体/陶瓷谐振器)

外部晶体/陶瓷谐振器模式(该模式较为常见,这可以为系统时钟提供较为精确的时钟源。该时钟源是由外部无源晶体与MCU内部时钟驱动电路共同配合形成,有一定的启动时间,精度较高。为了减少时钟输出的失真和缩短启动稳定时间,晶体/陶瓷谐振器和负载电容必须尽可能地靠近振荡器引脚。负载电容值必须根据所选择的晶体来具体调整。整体上讲,陶瓷晶体和石英晶体的主要区别就在于精度和温度稳定性上。石英晶体比陶瓷晶体精度要高,温度稳定性要好。)

旁路时钟源模式(该模式下必须提供外部时钟。外部时钟信号(50%占空比的方波、正弦波或三角波)必须连到SOC_IN引脚,此时OSC_OUT引脚对外呈高阻态。所谓旁路模式,是指无需上面提到的使用外部晶体时所需的芯片内部时钟驱动组件,直接从外界导入时钟信号。旁路时钟源的典型应用--有源晶振。有源晶振一般是四脚封装,电源、地线、振荡输出和一个控制端【或者悬空端】。相比无源晶体,有源晶振本身就是个完整的振荡器件,只需要供给适当的电源就能输出时钟,无须额外的振荡驱动匹配电路。其时钟输出不依赖于外部器件振荡电路,相对更不容易受外部线路不稳定性的影响。自然其价格往往要高于无源晶体,不过其输出电平幅度往往不能像无源晶体那样随着应用电路的变化而变化。)

6.配置USB虚拟串口外设(有些芯片可能不支持USB虚拟串口,若不支持虚拟串口配置,则按钮不可点击)

(1)

(2)

 

 7.开启FreeRtos,并选择版本

根据项目情况自行选择,FreeRtos版本。

V2版本较高,功能较多,大多数情况V1版本够用。

8.配置总时钟树。(须注意若要使用USB虚拟串口,则USB虚拟串口需要48MHz的一个工作频率,那么主时钟源频率需要8的倍数即可) 

 9.生成 Keil5 工程基本配置

 

10.勾选包含一些 **.c文件和一些头文件,便于阅读源码

11.最后点击生成项目工程即可

 

12.生成完成后,打开项目,运行编译

 

 没有错误!没有警告!完成!

 

  • 22
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在使用STM32CubeMX配置FreeRTOS时,首先需要创建任务。你可以通过以下步骤完成任务的创建: 1. 打开STM32CubeMX软件,并选择你的目标芯片型号。 2. 在"Project"视图中,点击"RTOS"选项卡。 3. 点击"Tasks"选项卡,并点击"Add"按钮以添加一个任务。 4. 在弹出的对话框中,填写任务的名称、优先级和堆栈大小等信息。 5. 在"Entry Function"字段中,输入任务的函数名。 6. 点击"OK"按钮以完成任务的创建。 7. 重复以上步骤,可以添加多个任务。 8. 最后点击"Project"视图中的"Generate Code"按钮,生成相应的FreeRTOS配置代码。 以上是通过STM32CubeMX进行任务创建的步骤。你可以根据具体的需求和任务功能,对任务的优先级、堆栈大小等参数进行调整和配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [STM32cubeMX配置FreeRTOS](https://blog.csdn.net/m0_49476241/article/details/123029306)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [STM32cubeMX快速配置FreeRTOS任务](https://blog.csdn.net/m0_49476241/article/details/123323746)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值