前言手头上正好有STM32的开发板和ESP-12E模块,想着控制个WS2812玩玩。到MCU开发的时候下载了生成的代码发现是HAL库的,无奈自己刚刚学习stm32,用的是标准库,在论坛发现关于STM32CubeMX移植的教程满天飞,标准库却寥寥无几,发现有很多群友和我一样刚刚接触不知道怎么移植,这里参考了官方的移植MSP340教程并修改出适用于STM32标准库的教程。进入正文步骤1、下载好的代码包            
                
         
            
            
            
             文章目录基本多线程Arduino示例配置创建任务消息队列信号量定时器互拆量(Mutex)事件组(Event Group) 基本多线程Arduino示例配置#if CONFIG_FREERTOS_UNICORE
#define ARDUINO_RUNNING_CORE 0
#else
#define ARDUINO_RUNNING_CORE 1
#endif当FreeRTOS配置为单核模式时,AR            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-29 13:34:21
                            
                                515阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录Bootloader分区表默认分区表自定义分区表出厂程序恢复出厂设置自定义Bootloader应用级程序追踪FreeRTOS简介内核组成源码结构任务管理(线程管理、线程调度)优先级抢占式调度算法时间管理(时钟节拍)ESP32的硬件定时器定时器初始化定时器控制ESP32中的FreeRTOS时钟内存管理(内存堆)通信管理(消息队列、事件集、信号量、互斥量)消息队列事件集ESP32上的Free            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-27 19:26:09
                            
                                150阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            调度,实际涉及到两个问题,一个是调度的对象是什么(你要调度啥),另一个就是如何进行调度。本文就来聊聊 FreeRTOS 的任务调度过程。说到调度对象,很容易想起那句名言:进程是资源的最小单位,线程是调度的最小单位。在 FreeRTOS 中没有区分进程,线程的概念,统称为任务,对应的结构体为:tskTCB。lib/FreeRTOS/tasks.c:typedef struct tskTaskCont            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-03 21:19:16
                            
                                145阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            对于esp32,其开发程序中有且只能有一个app_main函数,该函数是用户程序的入口,这在没有调用FreeRTOS的系统中相当于函数main,但其实在app_main之前,系统还有一段初始化的过程,其大致可以分为以下三个过程:ROM中的第一级引导加载程序将闪存偏移0x1000的第二级引导加载程序映像加载到RAM(IRAM和DRAM)。第二级引导程序从闪存加载分区表和主应用程序映像。主应用程序包含            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-03 20:01:32
                            
                                465阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、前言本人也是刚刚开始学习ESP32,还未毕业。对嵌入式开发有一点点基础,之前一直还玩的是8051和STM32单片机。自从我发现了ESP32后,我就对它产生了浓厚的兴趣。之后我就在官网买了一块开发板,开始我的学习之旅。   首先说说我为什么会对它产生浓厚的兴趣,第一、片上资源丰富,有多丰富大家可以到官网查找手册。对于一个想入门嵌入式的人来说,这些都是必须的。第二、软件框架开源。如果你目前不想去了            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-28 13:52:28
                            
                                65阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ESP32 RTOS 任务同步与消息通信篇概述概述在 RTOS 系统中,任务之间、任务和中断服务之间必然需要交互信息,以此来完成整体的系统功能。交互信息的目的可以是协调程序运行的先后顺序(称为任务同步),也可能是传递一块数据(称为消息通信)。总之在这样一个交互信息的过程中,有生产数据的一方,被称为“生产者“,有获取数据的一方,被称为”消费者“: 为了满足任务之间、任务与中断之间交互信息的需求,RT            
                
         
            
            
            
            这里是调用双核的方法哈,和我们单核使用的方法不兼容,因为有一些函数是不一样的,不通用,但是下一篇博文我会更一篇单核使用队列进行任务间通讯的问题队列是什么?队列是可以从一个任务向其他任务以并发安全的方式发送消息的机制,也就是说他的目标是实现任务间的通讯,比如A任务向名为Queue的队列中发布了数据,那么B任务就可以从Queue这个队列中又把数据给取出来,并且,这个数据是复制式的,也就是说把数据复制一            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-26 14:35:26
                            
                                167阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            移植准备源码准备rtthread官网源码下载软件准备STM32CubeMX Keil5 Xshell Scons Python开始移植把源码解压到一个没有中文路径的文件夹,我就解压到D:\software\workspace\rt-thread进入bsp\stm32这些bsp都是一些厂商自己的开发板,rtthread官方给这些板子写好了bsp。我用的板子是普中科技STM32F103ZET6的板子,            
                
         
            
            
            
            探索无限可能:ESP8266 开源项目详解去发现同类优质开源项目:https://gitcode.com/1、项目介绍走进物联网的世界,你一定听说过 ESP8266 这个神奇的芯片。这是一个强大的、低成本的 Wi-Fi 模块,它让各种智能设备接入互联网变得轻而易举。在这个开源项目中,我们不仅能够找到 ESP8266 的相关资源,还有丰富的社区支持和代码示例,助你快速上手并打造出自己的物联网解决方案            
                
         
            
            
            
            很多小伙伴们习惯了linux开发,而esp32大部分都是直接在arduino IDE上直接开发了,这是使得大家很不习惯,虽然乐鑫官方也有官方linux安装手册,但是太过繁琐,于是我将一些他们归纳一个简单安装的方法 注意:这里开发环境最好选择ubuntu20.04,小编就是开始有的ubuntu18.04,安装了一天出这种错误那种错误的。建议大家最好用ubuntu20.041.拉取代码//e            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-20 15:49:49
                            
                                469阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            本 esp32 Arduino 教程的目的是解释如何在 freertos 队列的前面和后面插入内容。此 esp32 教程的测试是使用集成在esp32 开发板中的dfrobot 的 模块设备进行的。引言本文主要说明如何在FreeRTOS队列前/后插入数据。有关在ESP32上使用FreeRTOS队列的入门教程,请参见这一篇文章:http://mc.dfrobot.com.cn/thread-27558            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-04 22:10:52
                            
                                101阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ESP32简介ESP32 是上海乐鑫公司开发的一款比较新的32位微控制器,它集成了WiFi及蓝牙等功能,有着性能稳定、功耗低、价格低廉等特点,非常适用于物联网开发,但也可以作为普通的MCU使用。ESP8266 也是乐鑫公司开发的一种非常流行的WiFi芯片。相比 ESP8266 ,ESP32 更加强大。ESP32的主要芯片种类有ESP32-C系列、ESP32-S系列和ESP32系列。这些芯片的参数和            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-26 15:42:03
                            
                                351阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            贴片电阻电容常见封装有 9 种,一般采用英制表示方法,是指采用 4 位数字表示,前两位表示电阻或电容长度,后两位表示宽度,以英寸为单位。我们常说的 0805 封装就是指英制代码,封装尺寸规格对应关系如下表:功率规格如下表:关于电容的封装除了上面的贴片封装外,对无极性电容,            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-09 14:39:27
                            
                                2371阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、SPI简介SPI(Serial Peripheral Interface) 协议是由摩托罗拉公司提出的通讯协议,即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、LCD 等设备与 MCU 间,要求通讯速率较高的场合。芯片的管脚上只占用四根线。 MISO: 主器件数据输出,从器件数据输入。 MOSI:主器件数据输入,从器件数据输出。 SCK: 时钟信号,由主设备控制发出。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-22 14:25:04
                            
                                155阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             文章目录前言一、创建任务和删除函数1.xTaskCreate()2.xTaskCreateStatic()3.xTaskCreateRestricted()4.vTaskDelete()二、任务函数和任务控制块TCB1.任务函数模板2.TCB三、延时函数1.vTaskDelay()2.vTaskDelayUntil()3.系统时钟节拍四、任务挂起和恢复函数1.vTaskSuspend()2.vT            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-24 23:15:00
                            
                                248阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            总体介绍1. ESP32 共有 4 个 SPI 控制器 SPI0、SPI1、SPI2、SPI3,用于连接支持 SPI 协议的设备。SPI0 控制器作为 cache 访问外部存储单元接口使用;SPI1 作为主机使用;SPI2 和 SPI3 控制器既可作为主机使用又可作为从机使用。作主机使用时,每个 SPI 控制器可以使用多个片选信号 (CS0 ~ CS2) 来连接多个 SPI 从机设备。SPI1 ~            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-26 14:32:37
                            
                                1814阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录一、前言;二、`GPIO`使用;2.1、配置输出,禁止中断:2.2、配置输入,即为获取高低电平:2.3、 中断触发配置:三、`PWM`使用;四、`uart`使用;五、后记;一、前言;       这个月的十号,埃塞俄比亚航空飞机出事了,8名中国同胞不幸遇难。唉,只能感到惋惜!       本博文基于官网的Rto            
                
         
            
            
            
                           
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-08-29 22:46:00
                            
                                3546阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            对于LCD显示屏的控制,简单的讲就是通过向芯片ILI9341发送指定的命令和参数,就可以直接控制。FSMC连接好外部存储器并连接好后,可以直接通过访问地址进行读写数据。使用FSMC外接存储器时,起存储单元是映射到STM32内部存储空间的,在程序中,定义一个指向这些地址的指针,然后就可以通过指针直接修改该存储单元的内容,FSMC外设会自动完成数据访问过程,读写命令之类的操作不需要程序控制。如本实验中            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-24 12:17:56
                            
                                177阅读