环境:STM32CUBEIDE 版本1.02
STM32103C8T6最小系统板
F1,1.8.0 版本固件包
新建工程,选择芯片,不多做赘述
RCC中选择时钟源为 Crytal/Ceramic Resonator
SYS 中Debug 选择为 serial Write,这很重要,若选择NO debug 则在烧写一次程序后,芯片会锁住变砖。若不小心变砖了,参考这篇文章入口。
SYS 中 Timebase 不能选择为 systick ,因为FreeRTOS 会使用systick 作为时钟节拍。为了不冲突,HAL库的时基选用别的。
Middleware中选择 FreeRTOS,在interface 中选择 CMSIS_V1或V2都可以。
然后根据需要配置,一般默认就好
在下方 Tasks and Queues中可以添加任务。里面有一个default Task 的空闲任务。点击 add,可自行添加任务。
上述步骤操作完之后,就可以配置时钟树,生成的 project,点击 IDE 生成按钮生成代码。
在生成的 freertos.c 下找到刚刚添加的任务,在其中添加自己的代码即可
点击IDE的仿真按钮,利用仿真下载程序。
关键字:STM32 FreeRTOS
引用地址:
STM32CUBEIDE配置FreeRTOS
推荐阅读最新更新时间:2024-11-12 11:19
上拉电阻与下拉电阻的定义及作用
什么是上拉电阻? 将一个不确定信号(高或低电平),通过一个电阻与电源VCC相连,固定在高电平; 什么是下拉电阻? 将一个不确定信号(高或低电平),通过一个电阻与地GND相连,固定在低电平。 图:左边的是上拉电阻示意图,右边的是下拉电阻示意图(无内容无关联) 上拉电阻与下拉电阻用在什么场合? 答:用在数字电路中,存在高低电平的场合。 上拉电阻与下拉电阻怎么接线? 答:上拉电阻:电阻一端接VCC,一端接逻辑电平接入引脚(如单片机引脚) 下拉电阻:电阻一端接GND,一端接逻辑电平接入引脚(如单片机引脚) 上拉电阻与下拉电阻的作用 1、提高输出引脚的驱动能力: 例如,当STM32的CPU引脚输出高电平,但由于后续电路的影响,输出的
[单片机]
stm32利用oled显示屏与按键进行PID参数调节实现人机交互
上一个学期在学校做四轮车利用PID实现直线走,在调试过程中,我之前是每改一个参数就下载程序进控制板进行调试,观察车是否偏移来确定pid参数,但是后来我发现这样的效率很慢,经别人提醒后,我自己做了一个小小的人机交互界面,来显示pid的参数以及对pid参数进行调整。 以下是显示效果: 接着我在附上主要代码: // 功能描述 : OLED 7针SPI接口演示例程(STM32F103系列) // 说明: // ---------------------------------------------------------------- // GND 电源地 // VCC 3.
[单片机]
单片机串口处理获得的经验(stm32)
最近搞了一个stm32串口数据帧批处理代码,遇到了很多问题,作为刚工作的我,经验太缺乏,实在是需要总结一番,以避免以后再出现同样的错误。 大致情况罗列如下: 1、串口接收中断处理 在学校的时候根本没有接触过什么循环处理的方法,到现在我也讲不上来这个方法的名字是什么,反正自己会运用了。大致的情况是环形数组处理,代码如下: //====================== 接收数据中断 if( USART_GetITStatus( COM_USARTx, USART_IT_RXNE ) != RESET ) { if( COM_Rx_Sign == 1 )
[单片机]
STM32外设资源查询方法,对比C8T6和ZET6
对应不同型号的单片机的外设资源需要找相应的单片机的数据手册,比如STM32F103ZET6数据手册,STM32F103C8T6数据手册. 根据FLASH大小STM32F103ZET6 - 为HD型,STM32F103C8T6 - 为MD型。 STM32F103家族系列芯片外设对比 STM32F103ZET6 外设资源数据手册一览 从上图也可以看到ZET6一共有11个定时器,包括2个高级定时器、4个通用定时器、2个基本定时器…当然还有2个看门狗和1个系统定时器。 再由这个两个图也可以看出TIM1/8是高级定时器、TIM2/3/4/5是通用定时器、TIM6/7是基本定时器。 高级定时器在APB1总线上,通用和
[单片机]
基于STM32单片机的烟雾测量系统设计
功能介绍 本设计选用MQ-2烟雾传感器、温度传感器以及STM32F103单片机作为核心器件并与其他电子技术相结合,通过STM32F103单片机控制传感器对检测地点的烟雾进行实时检测,并把检测结果进行数据信息处理,可以实现浓度显示、报警及排气等功能。 系统框图 原理图 系统主程序设计及流程图 源代码 //C库 #include //单片机头文件 #include sys.h //硬件驱动 #include delay.h #include usart.h #include mq2.h #include timer.h #include gui.h #include LCD.h #i
[单片机]
STM32之TIMER定时器之间不同点
STM32F1系类有1~14一共14个定时器;具体型号不一样会有所不同。它适合多种用途,包含测量输入信号的脉冲宽度(输入捕获),或者产生输出波形(输出比较、PWM、嵌入死区时间的互补PWM等)。 使用定时器预分频器和RCC时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。 高级控制定时器(TIM1和TIM8)和通用定时器(TIMx)是完全独立的,它们不共享任何资源。它们可以同步操作。 TIM6和TIME7是基本定时器,他们通常作为通用定时器提供时间基准,特别地可以为数模转换器(DAC)提供时钟。实际上,它 们在芯片内部直接连接到DAC并通过触发输出直接驱动DAC。 这2个定时器是互相独立的,不共享任何资源。
[单片机]
stm32时钟设置函数
这里涉及到一个很重要的寄存器,时钟配置寄存器:RCC_CFGR 1 #if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) 2 /* #define SYSCLK_FREQ_HSE HSE_VALUE */ 3 #define SYSCLK_FREQ_24MHz 24000000 4 #else 5 /* #define SYSCLK_FREQ_HSE HSE_VALUE */ 6 /* #define SYSCLK_FREQ_24MHz 24000000 */ 7 /* #define SY
[单片机]
GD32单片机和STM32单片机的区别
一、前言 什么GD32? GD32是国内开发的一款单片机,据说开发的人员是来自ST公司的,GD32也是以STM32作为模板做出来的。 所以GD32和STM32有很多地方都是一样的,不过GD32毕竟是不同的产品,不可能所有东西都沿用STM32,有些自主开发的东西还是有区别的。相同的地方我们就不说了,下面我给大家讲一下不同的地方。 二、区别 1、内核 GD32采用二代的M3内核,STM32主要采用一代M3内核,下图是ARM公司的M3内核勘误表,GD使用的内核只有752419这一个BUG。 2、主频 使用HSE(高速外部时钟):GD32的主频最大108M,STM32的主频最大72M 使用HSI(高速内部时钟):GD32的主频最大10
[单片机]