草庐IT

收发存

全部标签

EMQ X(3):客户端websocket消息收发

在EMQXBroker提供的Dashboard中TOOLS导航下的Websocket页面提供了一个简易但有效的WebSocket客户端工具,它包含了连接、订阅和发布功能,同时还能查看自己发送和接收的报文数据,我们期望它可以帮助您快速地完成某些场景或功能的测试验证:MQTT是为了物联网场景设计的基于TCP的Pub/Sub协议,有许多为物联网优化的特性,比如适应不同网络的QoS、层级主题、遗言等等。WebSocket是为了HTML5应用方便与服务器双向通讯而设计的协议,HTTP握手然后转TCP协议,用于取代之前web服务器推送数据的ServerPush、Comet、长轮询等老旧实现。两者之所有有交

UDP协议的数据收发

DatagramSocket使用的UDP连接,客户端不需要先连接数据,可以直接发送给指定服务端。一、UDP需要DatagramSocket来进行中间的运输无连接的传输层协议,提供面向事务的简单不可靠信息传输服务、可能丢失、非常简单、非常小一切以包为中心数据传输不用IO流1.1发送端(客户端)使用DatagramSocket创建端口,创建发送端准备数据,一定要转成字节数组!准备容器封装成DatagramPacket包裹,需要指定目的地(ip地址和端口)发送包裹send(DatagramPacketp)释放资源客户端直接发送,没有连接的过程importjava.io.IOException;imp

STM32F407以太网DMA描述符和数据链路层收发数据

本文主要介绍STM32F407单片机MAC内核的DMA描述符,以及如何实现以太网二层的数据收发。这一篇先实现数据链路层的正常收发,下一篇再去介绍如何把LWIP移植到单片机上。大部分资料都是把LWIP移植和以太网卡驱动放在一起介绍,对新手不友好。所以我在这篇文章先把网卡驱动梳理清楚。本文使用STM32F407的标准库介绍。STM32F407以太网控制器框图以太网控制器的工作流程发送数据流程:以太网DMA描述符从发送缓存区把数据搬运到TXFIFO中,然后由MAC控制器把TXFIFO中的数据通过MII或RMII接口发送到PHY芯片,PHY芯片把数据转换成光信号或电信号发送到网络中。我们只要把待发送的

【QT5:CAN卡通信的上位机-代码练习-收发数据+布局+引用外部库+基础样例(1)】

【QT5:CAN卡通信的上位机-代码练习-收发数据+布局+引用外部库+基础样例1】1、概述2、实验环境3、自我总结和提升4、事先声明5、效果展示6、代码编写过程(1)操作步骤部分1、新建工程2、加入外部库,并且加入qt工程中3、ui页面布局4、代码练习5、运行测试(2)代码解析1)标准QStandardItemModel2)外部库,can相关提供的函数。3)自己写的功能函数4)接收功能和解析功能函数5)槽函数7、代码链接8、细节部分(1)波特率的由来(2)放置再其它目录下,在当前目录下运行问题。(3)报错:如下“uiwasnot..”或者“useof...”什么的。(4)设置储存位置大小为25

【STM32通讯系列--串口通讯】使用标准库、HAL库实现任意长度数据的收发(包含帧头、帧尾校验,配套完整开源程序)

一、串口的基本概念【数据组成】串口的通讯协议由开始位,数据位,校验位,结束位构成。【数据结构】一般以一个低电平作为一帧数据的起始,接着跟随8位或者9位数据位,之后为校验位,分为奇校验,偶校验和无校验,最后以一个先高后低的脉冲表示结束位,长度可以设置为0.5,1,1.5或2位长度。【奇偶校验原理】统计发送数据中高电平即’1’的奇偶,将结果记录在奇偶校验位中发送给接收方,接收方收到奇偶校验位后和自己收到的数据进行对比,如果奇偶性一致就接受这帧数据,否则认为这帧数据出错。如下图所示:一个8位数据位,1位奇偶校验位,1位结束位的串口数据帧。上图的解释如下:注意事项:一般进行串口通讯时,收发双方要保证遵

stm32f103c8t6串口数据包收发

硬件资源:    使用stm32f103c8t6单片机作为主控,CH340USB转串口模块进行串口数据收发,0.96寸支持IIC协议的显示屏进行效果显示。接线图: 项目思路:①:什么是串口数据包?用来存放数据的一串数据,由包头,包尾和中间的数据组成,数据长度可变,这里使用数据长度4个字节。②:为什么要使用串口数据包?例:MPU6050陀螺仪向单片机发送姿态数据,单片机如何了解哪里是数据的开头和结尾呢?将数据的开头和结尾加上特殊的标识符或者16进制数(头:0XFF尾:0XFE)这样就可以分辨出数据的头尾了,便于收发数据,提高效率。③:如何收发串口数据包?这里对要发送的数据包打包,接收的数据进行解

STM32+UART串口+DMA收发

目录1、cubemax端配置1.1初始化配置1.2GPIO配置 1.3UART配置1.3.1串口基础配置1.3.2DMA配置2、keil端代码设计2.1初始化配置2.2DMA接收初始化配置2.3DMA发送配置 2.4接收回调函数设置2.5回调函数内容代码编写2.5.1接收回调函数2.5.2发送回调函数2.6回调函数内容代码优化1、cubemax端配置1.1初始化配置首先通过STM32cubemax进行基础配置: cubemax基础配置1.2GPIO配置通过一个LED小灯(高电平有效)来观察效果,对PB0引脚进行GPIO配置,如下图所示: 1.3UART配置1.3.1串口基础配置1.3.2DMA

STM32系列——串口收发数据基础

串行接口相关知识两种通信方式:并行通信与串行通信,并行通信传输速度快但是占用的引脚资源多,串行通信传输速度慢但是占用的引脚资源少。三种模式:单工、半双工、全双工异步串行通信:通信双方在没有同步时钟的前提下,将一个字符(包括特定的附加位)按位进行传输的通信方式。波特率:每秒钟传输的二进制位数,如9600bps。串口USB接口:CH340CP2012STM32芯片的串口UASRT功能十分强大,但对于日常编程而言,使用最多的还是异步串行通信。USART1_TX与PA9复用,USART1_RX与PA10复用。USART2_TX与PA2复用,USART2_RX与PA3复用。STM32CubeMX中关于U

Stm32407串口1空闲中断+DMA收发(基于标准库实现)

文章目录1简介1.1什么是串口空闲中断1.2DMA简介1.3DMA模式1.4DMA请求映射1.4DMA配置简述2DMA收发代码实现2.1定义收发结构体2.2DMA配置2.3串口配置2.4中断配置2.5DMA发送1简介stm32串口的配置很简单,这里就不赘述了,使用USART_SendData()阻塞模式发送数据,或是接收中断配置“接收缓冲区非空”USART_IT_RXNE,这种做法效率很低,而且来一个数据中断一次数据处理起来也麻烦。这里基于STM32F407提供一种串口空闲中断+DMA接收的方式,通过库函数编程实现。1.1什么是串口空闲中断初学者一开始学习配置串口中断时经常将中断条件配置为US

STM32串口频繁收发至其卡死的解决方案

本人小白不喜勿喷。本人前一段时间,使用串口时遇到了一棘手问题。一、项目描述:需要STM32单片机与上位机使用串口频繁收发数据,收发频率为50Hz,即单片机每秒发送50帧数据,每秒接收50帧数据,每帧数据大概14字节。二、问题描述:收发一段时间后,单片机卡死,无反应。三、前期知识:本段引自《STM32F10x-中文参考手册》STM32F10x-中文参考手册-单片机文档类资源-CSDN下载3.1知识点一 表180源自P538由表180可知,当我们使能TXNEIE位时,不仅会开启接收中断TXNE,也会开启数据溢出中断ORE。因此,我们不仅要检测接收中断TXNE,也要检测ORE溢出位中断。3.2知识点