自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

1.OpenMV-H7 通过uart3 发送一帧数据到stm32f407usart1中 数据buf=[0xaa,0xaa,0x20,0x65,0x88,0x5d,0x6d] {0xaa,0xaa帧头} 2.stm32F407 串口1收到数据 点亮LED1并发送应答信号 Buf1[7]={0xaa,0xaa,0x20,0x01,0x01,0x0D,0x0A} {0xaa,0xaa帧头} 3.OpenMV收到后 其LED1红灯闪烁

2021-11-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除