目录
2.1.3 时钟系统配置(PLL、SYSCLK、AHB、APB1、APB2等)
1. 准备
1.1 STM32CubeMX安装使用
参考:STM32学习·HAL库·STM32CubeMX系列学习(安装和使用)_stm32cubemx怎么添加hal库-CSDN博客
1.2 FreeRTOS官方文件下载
可以打开百度搜索FreeRTOS的官网:
官网连接:FreeRTOS - Free RTOS Source Code Downloads, the official FreeRTOS zip file release download
百度网盘链接:链接: https://pan.baidu.com/s/10Qe-D9Lv3fkKYpwzf5vanA?pwd=qmg2 提取码: qmg2
2. 创建工程
2.1 创建一个STM32CubeMX工程
2.1.1 新建工程,选择芯片型号
打开软件,找到“File”,点击“New Project...”。
第一次新建工程可能需要下载一些东西,等待下载完成。
进入如下界面。
根据使用的单片机型号进行搜索,双击搜索到的内容。
进入如下界面。
2.1.2 时钟模块配置(设置HSE、LSE、MCO)
点击“System Core”,选择“RCC”,按照如下进行配置HSE和LSE。
MCO 指的是 STM32 微控制器中的主时钟输出(Main Clock Output)。在 STM32 微控制器中,MCO 是一个非常有用的功能,可以将系统时钟(HCLK)或者外部时钟信号输出到指定的引脚上,用于外部设备的时钟同步或者调试等目的。
通过配置 MCO 功能,可以选择输出不同频率的时钟信号,并且可以选择输出源为系统时钟(HCLK)、外部晶振时钟、PLL 时钟等。这使得开发人员可以方便地监视和利用 STM32 微控制器的时钟信号,用于系统调试、性能优化和外部设备的时钟同步等应用。
要使用 MCO 功能,通常需要在 STM32CubeMX 或者代码中进行相应的配置,设置 MCO 的输出源和输出频率。然后将 MCO 引脚连接到外部设备上,即可实现时钟信号的输出。
不过这里我们暂时不使用该功能,因此不用勾选。
找到SYS按照如图所示配置:
2.1.3 时钟系统配置(PLL、SYSCLK、AHB、APB1、APB2等)
由于我使用的是STM32F103C8T6最小系统板,因此这里根据STM32F1系列的用户手册,进行配置。
其他配置这里暂时用不到。
2.1.4 GPIO引脚配置
寻找自己想要配置的引脚,如实引脚过多可以在搜索框搜索,搜索完对应引脚会进行闪烁,如下图:
点击闪烁的引脚进行配置。
这里我们将PA1引脚,配置为输出模式,如下图:
然后按照下图点击:
点击黑框框住的部分,显示如下,其中“LOW”表示是低电平触发。“High”表示是高电平触发。
对于“GPIO mode”,其中“Output Push Pull”表示推挽输出,“Output Open Pull”表示开漏输出。
配置上下拉模式,这里既不进行上拉,也不下拉,所以选择“No pull-up and no pull-down”。
输出速度,低中高速,根据需求进行选择。
最后一项是宏定义,根据喜好对引脚进行命名。
2.1.5 配置FreeRTOS
按照下图位置,找到“Middleware and Software Packs”,找到“FREERTOS”,配置③位置为“CMSIS_V2”:
找到图示位置,进行配置,通常情况下直接使用默认值即可:
2.1.6 生成代码工程
以上配置完成,点击如下按钮,即可生成代码:
其中绿色圈住表示关闭文件,但是可以在之前创建的文件保存路径中找到文件进行打开,黑色表示直接打开。