- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 结构体定义 typedef struct 用法详解和用法小结
typedef可以声明新的类型名来代替已有的类型名,但却不能增加新的类型。 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 在编程中使用typedef目的一般有两个,一个是给变量提供一个易记且意义明确的新名字(类型有新别名,方便变量的定义),另一个是简化一些比较复杂的类型声明。typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。...
2024-05-21 10:06:06
744
1
原创 多虚拟机下实现ROS2通讯
电脑通过wifi在局域网里连接,虽然udp可以联通,但组播的方式仍收到限制,最后通过集中式的发现协议成功联通。通过Wi-Fi连接的局域网环境可能会存在一些网络配置限制,特别是在使用UDP多播时。局域网的路由器和防火墙设置可能会影响多播通信的有效性,因此在某些情况下,您可能需要使用其他方法来确保通信的可靠性。使用集中式的发现协议,例如通过配置发现服务器,是一种有效的方法,可以帮助确保节点之间的连接和通信。这种方式通过中央服务器来管理节点的注册和发现,从而克服了多播可能面临的限制。
2023-11-13 11:26:56
1238
原创 ESP8266 + Arduino (六) 客户端向服务器请求数据信息---2022.3.5
学习目的:客户端会定时向服务器发送请求信息。服务器一旦接收到客户端请求后,会把服务器开发板上的按键引脚状态发送给客户端。客户端在接收到这一信息后,会利用该信息来控制客户端的LED点亮和熄灭。最终实现的效果是,通过控制服务器端的板上按键,我们可以控制客户端板上LED的点亮和熄灭。服务器端代码/**********************************************************************项目名称/Project : 零基础入门学用物联网程序
2022-03-06 13:36:57
685
2
原创 ESP8266 + Arduino (四) 客户端向服务器发送数据信息---2022.3.5
学习目的:通过两块esp8266模块实现互联,一块作为服务器,另一块作为客户端,连接成功后客户端发送http请求,并通过客户端的按键来控制服务器端的LED 的亮灭!在这个示例中,ESP8266客户端将会通过HTTP协议向ESP8266服务器发送信息。在运行过程中,客户端ESP8266将会实时检测板上的按键状态,并且把按键状态发送给服务器。服务器在接收到客户端按键状态后,可以根据客户端按键状态来控制服务器端板上的LED点亮和熄灭。最终实现的效果是,我们可以通过客户端ESP8266开发板上的按键来“遥控”服
2022-03-05 20:44:25
3835
2
原创 ESP8266 + Arduino (三) ESP8266网络客户端基本操作---2022.2.28
让ESP8266-NodeMCU开发板扮演网络客户端的角色,从而向网络服务器发送HTTP请求以获取服务器响应信息。ESP8266-Arduino库中有两个库用于控制ESP8266与网络服务器进行通讯。他们是WiFiClient库和ESP8266HTTPClient库。示例1. 使用ESP8266HTTPClient库实现网络通讯示例2. 使用WiFiClient库实现网络通讯实例2:HTTP请求介绍 // 建立字符串,用于HTTP请求 String httpRequest = Str
2022-03-04 20:40:06
1334
原创 74HC595驱动数码管显示模块使用说明
基于74HC595串行动态数码管显示一、74HC595简介74HC595是一个8位串行输入、平行输出的位移缓存器:平行输出为三态输出。在SCK的上升沿,单行数据由SDL输人到内部的8位位移缓存器,并由Q7‘输出,而平行输出则是在LCK的上升沿将在8位位移缓存器的数据存人到8位平行输出缓存器。当串行数据输人端OE的控制信号为低使能时,平行输出端的输出值等于平行输出缓存器所存储的值。而当OE为高电位,也就是输出关闭时,平行输出端会维持在高阻抗状态。 串行输入,并行输出。 符号引脚描述
2022-03-02 11:37:11
17741
3
原创 ESP8266 + Arduino (二) GPIO和串口---2022.2.26
一. 开发板介绍1. ESP8266 CP2102物联网模块NodeMCU板载ESP-12E(4MBFlash) WIFI模组和USB转TTL串口(CP2102/CH340)芯片,方便下载固件和调试, NodeMCU默认为Lua固件,如需使用AT指令,请下载新的AT固件。开发板核心处理器ESP8266在较小尺寸封装中集成了业界领先的TensilicaL106超低功耗32位微型MCU,带有16位精简模式,主频支持80MHz和160MHz,支持RTOS,集成Wi-FiMAC/B/RF/PA/LNA,板载天
2022-02-28 14:56:58
3228
原创 太极创客物联网学习笔记1---2022.2.25
1.通过程序读取目录内容程序如下:/**********************************************************************项目名称/Project : 零基础入门学用物联网程序名称/Program name : esp8266-flash-folder-read团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com)作者/Auth
2022-02-26 19:46:28
1766
原创 STM32学习笔记1----STM32F429系统时钟
FreeRTOS任务基本知识1.任务堆栈大小pxStack = ( StackType_t * ) pvPortMalloc( ( ( ( size_t ) usStackDepth ) * sizeof( StackType_t ) ) ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */可以看出 StackType_t 类型的变量为 4 个字节,那么任务的实际堆栈大小就应该是我们所定
2021-12-20 21:31:59
4374
1
原创 C语言知识复习
1.C语言编程预备知识1.1数据类型基本数据类型 整数 整型 int 4 短整型 short int 2 长整型 long int 8 浮点数 (实数) 单精度浮点数 float 4 双精度浮点数 double 8 字符 字符 char 1复合类型数据 结构体 枚举 共用体1.2常量在C语言中的表示整数十进制:传
2021-12-11 11:06:20
1308
原创 VSCode解决中文乱码问题
VSCode解决中文乱码问题VScode版本:VSCode原始默认设置1.新建文件的编码是UTF-8(即65001)的编码方式2.当前终端的编码方式默认是GBK(即936,为中文简体的编码)分析:两种编码格式不同,中文当然会乱码,两种编码方式差别自行搜索了解解决方法1.终端输入代码更改在vscode的终端下输入chcp 65001表示,将当前终端的编码方式改为utf-8这样就与vscode的编码一致了,就能识别出我们想要输出的中文,但是,每新建一个终端就要输入一次代码,稍微有点麻烦。
2021-11-30 11:38:18
105016
19
原创 STM32——IIC的使用
1.IIC的简介IIC(Inter-Integrated Circuit)总线是一种由PHILIPS公司在80年代开发的两线式串行总线,用于连接微控制器及其外围设备。它是半双工通信方式。IIC总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此IIC总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。 IIC总线的另一个优点是,它支持多主控(multimastering)...
2021-11-17 22:02:00
5851
原创 C语言typedef(自定义数据类型)与#define(宏定义)总结
1.简单的宏定义#define 标识符 替换列表(替换列表可以是数,字符串字面量,标点符号,运算符,标识符,关键字,字符常量。注意:替换列表是可以为空的)典型错误:#define N = 100int a[N]; /*这样会成为int a[= 100],这里会处理成为一种标识记号一样*/#define N 100;int a[N]; /*带分号的定义会成为int a[100;],这是一种很常见的错误*/#define pin (int*);pin a,b;int* a,b; /..
2021-10-23 20:20:08
3238
USART_OpenMV_STM32F407双向通信.zip
2021-11-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人