基于STM32F103的FreeRTOS系列(三)·使用STM32CubeMX创建FreeRTOS程序(HAL库)

#“微软蓝屏”事件暴露了网络安全哪些问题?#

目录

1.  准备

1.1  STM32CubeMX安装使用

1.2  FreeRTOS官方文件下载

2.  创建工程

2.1  创建一个STM32CubeMX工程

2.1.1  新建工程,选择芯片型号

2.1.2  时钟模块配置(设置HSE、LSE、MCO)

2.1.3  时钟系统配置(PLL、SYSCLK、AHB、APB1、APB2等)

2.1.4  GPIO引脚配置 

2.1.5  配置FreeRTOS

2.1.6  生成代码工程


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  生成代码工程

        以上配置完成,点击如下按钮,即可生成代码:

         其中绿色圈住表示关闭文件,但是可以在之前创建的文件保存路径中找到文件进行打开,黑色表示直接打开。

FreeRTOS_时光の尘的博客-CSDN博客

  • 15
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: STM32F103是一款基于ARM Cortex-M3内核的单片机,它具有丰富的外设和性能优势。FreeRTOS是一款流行的实时操作系统,可用于在STM32F103上实现多任务和调度。USART是STM32F103系列的串行通信接口,用于与外部设备进行通信。DMA(直接内存访问)是一种数据传输方式,可实现高效的数据传输,提高系统性能。CubeMX是一款图形化开发工具,可用于配置和生成STM32F103的初始化代码。 在STM32F103使用FreeRTOS框架,可以实现多任务和调度功能。通过配置CubeMX,可以方便地设置USART和DMA外设。首先,使用CubeMX配置USART外设的工作模式、波特率等参数,并使用DMA传输数据。然后,通过编程将USART设置为DMA模式,使数据在接收和发送时通过DMA传输,提高效率和性能。在FreeRTOS任务中,可以编写代码实现与外设的通信,通过USART发送和接收数据。使用FreeRTOS的任务和调度功能,可以同时处理多个任务,提高系统的并发性和响应能力。 总之,通过结合STM32F103FreeRTOS、USART和DMA,以及使用CubeMX配置工具,可以方便地实现多任务调度和串口通信。这样的架构可以提高系统性能,实现更复杂的应用。 ### 回答2: STM32F103是一款由意法半导体(STMicroelectronics)推出的32位单片机,它使用了Cortex-M3内核。在STM32F103中,我们可以使用FreeRTOS(Real-Time Operating System)来实现多任务处理和实时性。 USART是通用异步收发传输器,它可以用于串行通信。在STM32F103中,我们可以使用USART来进行与外部设备的通信。 DMA(Direct Memory Access)是一种数据传输方法,它可以在系统的CPU不直接参与的情况下进行数据传输。在STM32F103中,通过配置USART的DMA,可以实现高效的数据传输。DMA还可以在多个外设之间进行数据传输,提高系统的效率。 CubeMX是一个图形化的配置工具,它可以帮助我们快速地配置和初始化STM32的硬件资源,生成相应的代码框架。 通过结合使用FreeRTOS、USART、DMA和CubeMX,我们可以实现在STM32F103上进行多任务处理、串行通信和高效数据传输的需求。首先,使用CubeMX快速配置USART和DMA相关的硬件资源,并生成代码框架。然后,根据需要,使用FreeRTOS进行任务的创建、调度和管理,实现多任务处理。在任务中,通过调用USART的相应接口来进行串行通信,并通过配置DMA来实现高效的数据传输。 总的来说,使用STM32F103FreeRTOS、USART、DMA和CubeMX的组合,可以帮助我们充分发挥STM32的功能,实现复杂的应用需求,并提升系统的性能和效率。 ### 回答3: stm32f103是STMicroelectronics(ST)公司推出的一款32位单片机,它的系列名称是STM32。该系列的芯片具有高性能和低功耗的特点,广泛应用于嵌入式系统中。 FreeRTOS是一款实时操作系统(RTOS),广泛应用于嵌入式系统开发中。它提供了丰富的功能,包括任务管理、时间管理、内存管理和通信等。使用FreeRTOS能够更好地组织和管理任务,提高系统的实时性和稳定性。 USART是通用同步/异步收发器(Universal Synchronous/Asynchronous Receiver Transmitter)的缩写,是一种常用的串口通信接口。它可以实现串行数据的发送和接收,常见的应用场景包括与外部设备进行数据通信和调试信息的输出。 DMA是直接内存访问(Direct Memory Access)的缩写,它是一种不需要CPU干预的数据传输方式。在数据量较大或者需要高速传输的场景下,使用DMA能够提高数据传输的效率,减轻CPU负担。 CubeMX是一个集成开发环境(IDE),用于简化STM32芯片的配置和代码生成。通过CubeMX可以轻松地配置芯片的外设、时钟和中断等,方便开发者快速搭建项目框架。它还可以生成基于CMSIS和HAL库的初始化代码,简化开发流程。 结合以上信息,stm32f103 freertos usart dma cubemx可以理解为在使用stm32f103芯片开发嵌入式系统时,使用FreeRTOS实现任务管理和时间管理,通过USART进行与外部设备的通信,利用DMA实现高效的数据传输,同时使用CubeMX进行芯片配置和代码生成的开发流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时光の尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值