嵌入式编程中的 attribute 到底是什么相信阅读嵌入式代码的老铁经常看到一些类型定义、变量、函数有 attribute 标识符,这个标识符号到底是做什么的?有哪些用法,咱们今天就来聊一聊。attribute 可以指定编译时的细节。其可作用于变量、函数、结构体、结构体成员。 值的注意的是,Attributes 机制并不是 C标准 的一部分。因此,使用 Attributes 的程序有时候不可跨编
转载 2024-06-28 22:22:34
71阅读
一、故事首先谈一谈为啥要做这个东西,总之是一种割舍不断的情结、念想。现在心愿已了,可以安息了。。。。。。哈哈。其实要从我的经历讲起,这就有点扯了,如果没有兴趣看,请忽略下段内容。 /* 大概是大二的时候,为了参加学校的比赛,组装了一台无人机,只有外壳是自己用PRO/E设计的,然后用3D打印机打出来,其他的电子设备都是买的现成的,包括螺旋桨。无人机飞起来了,但是一轮面试都没有通过。虽然有些遗憾,但也
目录说明一、ESP-NOP1.1、简介1.2、硬件准备1.3、代码演示1.3.1、官方示例1.3.2、代码改进简化二、力矩反馈2.1、Dagor项目介绍2.2、ESP32drive的力矩反馈2.2.1、硬件准备2.2.2、修改代码2.2.3、根据串口输出调试2.2.4、观察电机运行2.2.5、实际应用2.2.6、调试总结三、ESP32drive-Double的力矩反馈3.1、一个驱动器两个电机3
转载 2024-04-21 19:05:41
118阅读
PSRAM就是伪SRAM,内部的内存颗粒跟SDRAM的颗粒比较相似,但外部的接口跟SDRAM不同,不需要SDRAM那样复杂的控制器和刷新机制,PSRAM的接口跟SRAM的接口是一样的。psram内部自带刷新机制。PSRAM也由初期的平行接口发展到串行接口,由SPI、Quad SPI (QPI) 和Octal SPI (OPI)几种串行接口,用于需要小型化的场合,能够提供带宽范围从100Mbps ~
文章目录1 HTTP Client 实验工程简介1.1 实验工程选择1.1.1 新建自己的工程app-http-client1.1.2 直接使用官方例程esp_http_client1.2 统一资源定位符URL1.2.1 URL的格式1.2.2 使用HTTP的URL1.3 超文本传送协议 HTTP1.3.1 HTTP的报文结构1.4 HTTP实验工具httpbin.org1.5 实验分析1.5.
转载 2024-04-15 11:44:35
159阅读
分区表 文章目录分区表1. esp32 flash结构1.1 flash 物理组成1.2 flash 内部结构1.3 esp32启动过程2. 分区表2.1 分区表的组成2.2 分区表的定义2.2.1 Name字段2.2.2 Type字段2.2.3 SubType字段2.2.4 offset和size2.2.5 flags2.3 系统分区表的查看2.4 分区表的更换2.4.1 使用内置分区表2.4.
一、概述在STM32单片机的开发工作中,我们需要提前搭建可支持代码编写、烧录和调试的开发环境,STM32的开发环境的IDE环境一只需要安装“Keil”即可完成,再辅助一些编辑工具如:“Source Insight”、“Visual Studio Code”等。ESP32C3-WROOM-02U模组的开发环境有两种:1、Windows IDF离线开发环境:就是在Windows系统中安装乐鑫官方提供的
转载 2024-07-19 14:19:49
736阅读
一、简介1.1 硬件介绍ESP32-S3 SoC 芯片支持以下功能:2.4 GHz Wi-Fi低功耗蓝牙高性能 Xtensa® 32 位 LX7 双核处理器运行 RISC-V 或 FSM 内核的超低功耗协处理器多种外设内置安全硬件USB OTG 接口USB 串口/JTAG 控制1.2 官方资料ESP-IDF编程指南Wi-Fi库HTTP服务器1.3 开发环境软件:IDF 5.1.1 硬件:ESP32
转载 2024-08-30 14:07:10
184阅读
/*处理网络数据的时候往往需要用到JSON数据格式,单片机如果不用cJSON库,处理起来会非常吃力 以下程序与注释讲解了cJSON在STM32F103C8T6上移植并使用案例 使用cJSON只需要在工程里添加cJSON.c与cJSON.h文件即可,方便快捷 */ //cJSON使用的结构体 typedef struct cJSON //cJSON结构体 { struct c
转载 2024-07-17 08:34:07
55阅读
说明:我参考正点原子战舰开发板的例程和实验进行深入思考学习,读者若觉得有哪里描述不全的可以去这里下载资料查阅:stm32f103战舰开发板概念这里所说的堆栈,是针对单片机所说的“堆”(HEAP)与“栈”(STACK),它们是在内存中开辟的一片拥有特殊用途的区域;这里所说的内存,是指STM32片内的RAM,对于大容量的STM32F10xxx来说RAM的大小为64KB。内存布局时,MDK-ARM编译器
清单:Nodemcu ESP8266开发板(CH340G) 这个买来是制作LED矩阵时钟的,通过arduino,已经实现了连接网络、获取网络时间、显示时间,整体也运行了两周,都挺稳定的。配置SSID和PW都是在代码里写好的,但是心里一直记着应该是可以通过web配置的。但是为了给老婆的礼物,就先运行中吧。今天兴起,想用木板做个漂亮的外壳,排针在用电烙铁取下来的时候,不小心把8*
转载 2024-07-05 18:39:36
178阅读
遇到难题一、:RAM内存不足错误:一 、将UC/OS III移植到STM32F103C8T6的遇到内存不足的报错。分析,c8t6系类RAM内存只有20KB。如上图。在代码中将heap_size设置成了27u*1024u及27k,堆空间比RAM还要大。改成10k,并且根据情况缩小任务申请的堆栈空间。二、访问ESP8266所建立的WEB服务器时发生重启并报堆空间不足分析: 与C程序项目,C可
1,启用 外部RAM勾选 Support for external, SPI-connected RAM 如下图2,配置说明1,选择 外部RAM 的类型(见下图) 这个要根据自己的板子选择, ESP32支持的外部RAM有限. 不清楚的 选择 自动检测2, 设置 外部RAM 的时钟速度(见下图) 勾选40M即可官方解释:选择SPI RAM芯片的速度。如果SPI RAM被启用,我们只支持现在支持的三种
转载 2024-02-21 10:47:34
2958阅读
ESP32番外 : ESP32更改BLUFI自定接收数据长度大小最近在用ESP32的BLUFI的时候,发现一个问题就是BLUFI自定义数据只能接收255个数据,但是我APP发过来的数据明显大于255。经过摸索之后发现有下面方法可以解决。所以有以下几个方式去解决这个问题修改BLUFI的自定义数据接收数据的大小 (不建议,但是修改了也没有什么影响,在无法修改APP的时候可以使用这个方式)修改app端,
转载 2024-03-29 13:31:30
107阅读
文章目录目的开发环境搭建程序下载测试使用VS Code进行开发批量烧录固件到模块中总结 目的在之前的文章 《使用Arduino开发ESP32(01):开发环境搭建》 中介绍了使用Arduino开发ESP32的开发环境搭建内容,只不过当时的 Arduino core for the ESP32 是 v1 版本的。现在更新到 v2 版本后有一些改动,同时 Arduino IDE 也有改动,所以这里就
之前博客中讲解了如何通过STM32CubeMx配置生成多通道ADC的DMA方式采集,以及内部温度传感器的使用,但还留下了一些疑问,问什么需要屏蔽DMA传输完成的中断,以及所生成的代码的详细分析。接下来就开始对上一篇文章的内容进一步讲解。 本次的分析思路将按照自动生成的主函数顺序进行讲解。但不介绍如下函数:/* Reset of all peripherals, Initializes the Fl
STM32-Arduino编程 FreeRTOS移植环境说明使用Arduino开发STM32原因直接开始操作 环境说明开发软件:vscode+PlatformIO 操作系统:win10 开发板:STM32F103C8T6 UDP通信模块:W5500模块使用Arduino开发STM32原因STM32开发比较常用的软件有Keil和STM32Cube,但是用过的同学都应该发现这两款软件对于新手不怎么友
内容概要1、智能家居介绍2、智能家居市场分析3、内容介绍4、收益介绍智能家居介绍智能家居是什么:智能家居市场分析:中国智能家居规模:地产市场分析:家装市场分析:内容介绍1、WiFi技术原理2、智能家居系统开发3、WiFi开发环境搭建4、WiFi(GPIO/UART/PWM/TIME)外设应用开发5、FreeRTOS实时操作系统6、LwIP网络协议栈、WiFi网络编7、WiFi应用开发(智能开关、智
从目前流行的操作系统来看,常用的分区格式有:FAT16、FAT32、NTFS和Ext2。FAT16:是MS-DOS和最早期的WINDOWS 95操作系统中使用的硬盘分区格式,采用16位的文件分配表,是目前获得操作系统支持最多的一种磁盘分区格式,几乎所有的操作系统都支持这种分区格式。但它只支持2GB的磁盘容量而且磁盘利用效率低。一个FAT文件系统,包括四个不同部分:保留扇区,位于最开始的位置。第一个
EFI分区(也称为EFI系统分区或ESP)是一种特殊的分区,通常用于存储引导加载程序和其他与引导相关的文件。它是为了支持基于UEFI(统一固件接口)的系统而设计的。下面是一些理由说明为什么需要EFI分区:引导启动:EFI分区中存储着操作系统的引导加载程序(如GRUB、Windows Boot Manager等)和相关的配置文件。当系统启动时,UEFI固件会从EFI分区中的引导加载程序启动操作系统。
转载 2024-09-11 11:28:34
79阅读
  • 1
  • 2
  • 3
  • 4
  • 5