通信
文章平均质量分 93
记录通信知识
Qurry.OS
用心且坚持、自信且巅峰. I can do all things.
展开
-
手把手教你写gpio模拟i2c协议
最近,投影仪的项目上用到了三轴陀螺仪(G-sensor),通过获取陀螺仪X,Y,Z的坐标来实现梯形校正的功能,硬件上使用的通信接口是i2c接口。原创 2024-01-25 23:37:09 · 2120 阅读 · 0 评论 -
RS485、MODBUS通信协议浅显易懂篇
MODBUS协议是Modicon公司发表的一种串行通信协议,属于OSI模型中,现广泛应用于,它的主要特点是,传输介质可以是等。RS485处于,作为上层协议的通信接口,它是针对RS232的不足而诞生的新的接口,主要特点是。原创 2023-08-16 19:51:57 · 25231 阅读 · 0 评论 -
linux 网络编程socket
Socket=(IP地址:端口号),套接字的表示方法是点分十进制的lP地址后面写上端口号,中间用冒号或逗号隔开。每一个传输层连接唯一地被通信两端的两个端点所确定。原创 2023-01-27 18:20:16 · 4337 阅读 · 0 评论 -
TCP/IP协议族之TCP、UDP协议详解(小白也能看懂)
每个网络主机都会有一个IP地址,每个节点通过IP地址进行区分不同的主机,从而进行通信,路由器和主机都有一个IP地址。该IP地址是软件层面的一个地址,如192.168.xxx.xxx,而不是硬件层面的MAC地址。IP地址分为IPv4地址和IPv6地址。IPv4地址有32位正整数表示,IPv6地址由128位正整数表示。现在我们用的都是IPv4地址,将32位的 IP 地址以每8位为一组,分成4组,每组以 “.” 隔开,再将每组数转换成十进制数。IP地址由网络标识和主机标识。原创 2023-01-12 18:27:51 · 5399 阅读 · 1 评论 -
linux 线程详解
进程有唯一的进程号PID,线程也不例外,也有唯一的ID号,线程ID不同于进程ID,它是只有在进程运行的时候才有意义。linux系统中,线程ID是一个无符号长整形数,可以通过函数获取线程ID。在shell终端编译链接的时候,由于pthread不在gcc默认的链接库中,需要在编译命令中使用-l选项指定链接库pthread,格式为:。原创 2023-01-11 17:06:20 · 958 阅读 · 0 评论 -
linux 信号
信号是在软件层面上对中断的模拟,也叫软中断信号,用于通知应用程序发生了异步事件。信号不进行数据传递,仅向进程传递异步事件。当硬件检测到异常时,将异常信息发给内核,内核再把异常信号通知到进程中;shell终端也可以生成信号,并通知给前台进程;程序中也可以通过系统调用,生成的信号可以发给自己,也可以发给其它进程。原创 2023-01-10 17:29:20 · 176 阅读 · 0 评论 -
linux 进程间通信详解
信号量是一个特殊的变量,它被用于进程的同步与互斥,而不是交换数据信息,它的值与相应资源的使用情况有关,值大于 0 时,表示当前可用的资源数的数量;值小于 0 时,其绝对值表示等待使用该资源的进程个数;只允许等待操作(P操作)和发送操作(V操作)。linux终端下输入命令“ipcs -s”可查看信号量信息。二值信号量是我们用的最多的,只有“0”和“1”两个值。以下仅根据二值信号量说明。p操作:如果信号量的值大于0,执行p操作就给信号量减1;如果信号量等于0,执行p操作进程挂起等待。v操作。原创 2023-01-10 11:47:30 · 745 阅读 · 0 评论 -
低功耗蓝牙(BLE)你入门了吗
蓝牙低功耗(Bluetooth Low Energy,或称Bluetooth LE、BLE,旧商标Bluetooth Smart),用于医疗保健、运动健身、安防、工业控制、家庭娱乐等领域。在如今的物联网时代下大放异彩,扮演者重要一环,是无线通信的主流技术之一(常见的无线通信技术有NFC、GPRS、Zigbee、WiFi等),2021 年 7 月发布了蓝牙 5.3 版本,也是截止目前的最新版本。原创 2022-12-29 10:30:57 · 17189 阅读 · 4 评论 -
详解UART、I2C、SPI常用通信协议(全是细节)
UART、I2C和SPI是我们在嵌入式开发中比较常见的通信协议了,没有最好的通信协议,每个通信协议都有自己的优缺点;如果想要通信速度快,SPI 将是理想的选择,如果用户想要连接多个设备而不是过于复杂,I2C 将是理想的选择,因为它最多可以连接 127 个设备并且易于管理,UART的通信速度相对较慢,通信也比较简单,单对单。原创 2022-12-16 19:00:34 · 10963 阅读 · 1 评论 -
STM32之IO模拟串口篇
硬件基于stm32f767igt6水星板开发;软件使用了RT-Thread实时操作系统,两个空闲IO口。PE2用作串口TX端,搭配一个定时器控制发送时序;PE3用作串口RX端,并使能外部中断,触发外部中断则开启一个接收定时器。GitHub代码下载地址空闲位当uart处于空闲状态(线路没有数据传输)时,TX、RX线都处于高电平状态(逻辑“1”),一般需要把相应IO口配置为上拉。起始位由高电平跳变为低电平,且持续一个位宽度,表示触发起始信号。数据位发送状态分为空闲和发送中;...原创 2022-07-26 23:23:01 · 5863 阅读 · 4 评论 -
完结篇:STM32与阿里云平台梦幻联动
概述:前两篇章已经把esp8266通信部分调试完成,此篇章着力于通过MQTT协议连接阿里云物联网平台。1.阿里云平台:1.1 初识阿里云物联网平台:阿里云物联网平台提供了一站式的设备接入、设备管理、监控运维、数据流转、数据存储等服务。常见的物联网平台有腾讯云、中国移动的OneNET、原子云等。 初次使用阿里云平台时,首先需要注册一个自己的账号,可以直接使用某宝账号登录;1.2 创建产品实例:登录后,进入到物联网控制台创..............原创 2022-05-27 16:02:03 · 2627 阅读 · 4 评论 -
第二篇:STM32F7 + RT-Thread + ESP8266
概述:本章节主要实现esp8266通过usart3与stm32通信。首先,使用串口工具在电脑端测试模块AT指令,模拟测试模块通信是否正常,设置查询模块的参数;确认模块通信正常后,再着手软件配置串口,通过软件发送AT测试指令检测usart3收发是否正常。本章节代码请移步到github处下载:github代码下载地址1.esp8266的AT指令测试USB转TTL工具连接好esp8266模块,使用串口调试助手测试,配置好参数,默认为波特率115200,数据位8位,停止位1位;我把波特率配置..原创 2022-05-20 14:52:21 · 814 阅读 · 0 评论 -
开篇:STM32F7 + RT-Thread + ESP8266
1.概述:硬件资源:正点原子stmf7水星版、ATK-ESP8266的WiFi模块;编译软件:MDK5;操作系统:RT-Thread实时操作系统。目标需求:利用uart1重定义实现printf输出调试打印信息;usart3连接ATK-ESP8266模块实现AT通讯;ESP8266模块通过MQTT协议连接阿里云物联网平台。2.工程代码的移植创建:2.1 RT-Thread代码下载: RT-Thread官网代码下载地址,选择其中一种方式下载即可。熟悉env工具的......原创 2022-05-19 18:21:16 · 1296 阅读 · 0 评论