
单片机
文章平均质量分 94
早点儿毕业
这个作者很懒,什么都没留下…
展开
-
STM32中的FreeRTOS-#3(二值信号量)
本文是FreeRTOS教程系列的第三篇,将介绍“二值信号量”的使用。信号量用于将任务与系统中的其他事件同步。在FreeRTOS中,信号量是基于队列机制(后面会有一节专门讲队列)实现的。在FreeRTOS中有4种类型的信号量:二值信号量;计数信号量;互斥锁递归二值信号量,顾名思义,是只有两个值,“0”和“1”的信号量。一个任务要么有信号量,有么没有信号量,没有第三种情况(比如有两个信号量)。引入信号量的原因是:某些情况下单纯依靠任务优先级进行任务调度,不能满足应用要求。假设有如下场景:一个低原创 2021-12-24 22:17:16 · 3285 阅读 · 2 评论 -
STM32中的FreeRTOS-#2(对任务的操作)
**内容回顾:**上一节,我们通过使用优先级不同的三个任务,同时在串口打印了信息。但是大家肯定会有疑问,为什么相同优先级的任务不能同时通过串口打印数据,不同优先级的任务反倒可以“同时”打印?本节将深入探讨任务调用的顺序问题。这是FreeRTOS系列的第二篇教程,在本教程中,我们将看到一些与Tasks相关的操作。这包括创建任务,在任务之间切换,暂停和恢复任务,终止任务等等。CubeMX设置让我们先从设置CubeMX开始。如下所示,我使用CMSIS V1,因为它被大多数STM32芯片型号支持。其他的一切都原创 2021-10-20 18:35:51 · 2040 阅读 · 0 评论 -
STM32中的FreeRTOS-#1(入门)
STM32中的FreeRTOS-#1(入门)本教程开发环境如下:软件:MDK Keil,CubeMX(V6.1.2),VSCode(仅作为代码编辑器)硬件:STM32F4VET6开发板(其他开发板也可以,原理相同)本教程默认读者已有一定的STM32编程基础,并且已经熟悉CubeMX的使用,部分操作细节仅做文字提示或略过。RTOS(Real Time Operating System,实时操作系统),顾名思义,能够像操作系统(例如Windows)一样处理任务。操作系统的主要目的是“同时”处理多原创 2021-10-13 20:45:24 · 10427 阅读 · 2 评论 -
基于STM32F03RCT的多路频率占空比可调PWM输出
基于STM32F03RCT的多路频率占空比可调PWM输出1. 准备1.1. 硬件1.2. 软件2. 基础知识3. CubeMX配置3.1. 通用配置3.2. 定时器配置及初始化代码生成4. PWM相关代码编写5. 代码验证6.后记1. 准备1.1. 硬件STM32RCT6核心板、STLink V2.1调试器、线材若干、Mini示波器1.2. 软件STM32CubeMX、STMCubeIDE2. 基础知识利用CubeMX配置PWM时,大多数参数保持软件给出的默认值即可。为了使PWM频率及占空比可原创 2021-02-07 20:50:27 · 1155 阅读 · 0 评论 -
用STM32替换Arduino(在Arduino IDE中开发STM32)
一、引言Arduino自从面世以来,因为编程简单,并且周边配件也很丰富,迅速在电子爱好者的圈子中流行起来。但是Arduino有一个比较严重的问题,就是性价比不高。性能和资源有限,但是价格却比较高。而性能比较好的片子(例如意法半导体的STM32F103xx),虽然性能比较好(72MHz主频,丰富的外设(SPI、IIC、多个USART、CAN等),并且片上存储也高达512k),但是编程却比较复杂。...原创 2020-02-18 11:27:24 · 9656 阅读 · 6 评论