草庐IT

收发存

全部标签

STM32使用HAL库,串口收发一段时间后出错问题及解决

STM32使用HAL库,串口收发一段时间后出错问题及解决方法问题1:串口溢出解决方法问题2:串口同时收发,一段时间后串口接收不工作解决办法问题及解决方法当STM32使用HAL库进行开发时,偶尔会遇到串口收发数据量大时,会出现问题。比如同时串口同时收发,一段时间后就只能发送,接收不工作。或是只接收,但数据量大时也不工作。下面对这些问题和其解决办法进行整理。问题1:串口溢出当数据量过大且传输频率快时,串口可能会因为溢出,而不进入串口中断。解决方法使能RXNE中断和ORE中断:if(HAL_UART_Receive_IT(&huart1,(uint8_t*)&aRxBuffer,RXBUFFERSI

ARINC429总线收发器 -- HI-3593调试记录

概述​HI-3593是一款ARINC429协议收发器芯片,和之前介绍的HI-3582芯片功能一样,该芯片支持两路接收和一路发送,其中每个接收机具有标签识别、32×32FIFO和模拟线路接收机。不同的是HI-3593通信接口为SPI总线,可以减少MCU的硬件管脚负担,而且HI-3593片内集成DC/DC转换器用于产生双极性ARINC429差分电压以便直接驱动ARINC429总线,就不用像HI-3582那样需要提供±10V信号,这样使电路设计更加简洁。硬件设计​HI-3593硬件设计十分方便,电源方面只需要提供3.3V供电,外部提供1MHz的时钟信号。如果你像我一样不使用标签过滤器的话,除了SPI

如何在Window系统中安装RabbitMQ以及在.NET平台上实现收发消息功能

以下是接收客户端代码:#regionRabbitMQ接收客户端privateConnectionFactoryfactory;privateIConnectionconnection;privateIModelchannel;privateEventingBasicConsumerconsumer;//////开始创建连接对象///publicvoidStartReceiving(stringListenIp,stringqueueName,stringQueueUserName,stringQueueUserPassword,intPort=5672){try{//创建RabbitMQ服务器

树莓派4B与智能涡轮流量计通过RS485(modbus RTU协议)收发数据(二)(Hyperledger Fabric环境中上传数据)

上一篇博客配置好了树莓派端的串口通信,这次在加入涡轮流量计之前也先用PC端模拟树莓派测试一下该仪表是否能正常工作。一、测试流量计通信流量计说明书如下: 并且在设备上电时以(9600,8n1格式)自动发送四个字节:返码格式:站地址(1字节)+波特率(2字节)+格式(1字节)8n1格式指8个数据位,无校验,1个停止位,8e1与8o1分别对应偶校验和奇校验。将流量计与USB转485转换器及24V电源正确接线,打开PC端串口,开启电源,观察接收窗口信息(注意接收区和发送区均调成十六进制显示): 接收到返码为“01258000”,其意义为:设备地址1,波特率9600,格式8n1依据说明书的样例,在PC端

Qt 串口收发数据

首先,QT5是自带QSerialPort这个类的,使用时需要在pro文件里面添加一行:QT+=serialport然后直接引用头文件就可以使用了。#include#includeQSerialPort:提供访问串口的功能QSerialPortInfo:提供系统中存在的串口的信息接下来需要创建一个QSerialPort的对象,对串口的名称、波特率、数据位、校验位、停止位等参数进行设置,然后才进行串口读写操作。大概总结了一下,设置、读、写的过程。一、设置(举例)QSerialPort*serial=newQSerialPort;//设置串口名serial->setPortName(name);//

C#实现Socket的消息收发,ServerSocket,ClientSocket

    知道Socket原理,但是一直没有在代码里面尝试怎么操作,闲来无事实现了一个初步的Socket服务器和客户端连接的Demo,但是没有实现更高级一点的系列化传输,加解密处理以及队列和断线重连等处理,感兴趣的话可以自己再尝试尝试。主要分服务器Socket和客户端Socket,只用了简单的字符串转byte[]的传递测试收发消息。服务器这边的话实现了个初步的SocketID管理。分ServerSocket和ClientSocket来具体实现服务器与客户端的收发逻辑。ServerSocket的实现,单独启个工程。namespaceServerSocket{classProgram{private

关于7系列FPGA GT 高速收发器的一些认识(一)

一.基本概念1.对于quad的理解    一个quad包括4组GT高速收发器(GT高速收发器有四种,差异不大,以下为GTX),基于交换机即是对应4个端口,每一个quad有着2组差分时钟,但是7系列支持南北时钟,也就是除了该quad自身拥有的2组差分时钟,该quad还可以被上下两个quad的总共4组差分时钟驱动。7系列的FPGA中,所有GTX的quad位于模具一侧的单个列中。如图:右边橘黄色部分即为quad。(图中标黄部分有两个quad)图一:右侧8个port(8个GTX)2.bank        每个bank的接口标准由其接口电压VCCO决定,一个bank只能有一种VCCO,但不同bank的

关于7系列FPGA GT 高速收发器的一些认识(一)

一.基本概念1.对于quad的理解    一个quad包括4组GT高速收发器(GT高速收发器有四种,差异不大,以下为GTX),基于交换机即是对应4个端口,每一个quad有着2组差分时钟,但是7系列支持南北时钟,也就是除了该quad自身拥有的2组差分时钟,该quad还可以被上下两个quad的总共4组差分时钟驱动。7系列的FPGA中,所有GTX的quad位于模具一侧的单个列中。如图:右边橘黄色部分即为quad。(图中标黄部分有两个quad)图一:右侧8个port(8个GTX)2.bank        每个bank的接口标准由其接口电压VCCO决定,一个bank只能有一种VCCO,但不同bank的

基于FPGA的通用异步收发传输器(UART)设计

基本目的: (1)了解UART通讯原理,包括数据传输格式、电气特性等;(2)研究Basys3开发板与PC之间通讯电平规格的转换;(3)设计并实现UART的发送(TX)功能或接收(RX)功能。高级任务(可选):可调。(4)设计并实现UART的发送(TX)功能和接收(RX)功能,构建回环测试;(5)可根据表1的UART协议规格,自由配置UART的各项参数;指标描述波特率9600bps、115200bps、460800bps(可调)起始位数1数据位数7、8(可调)校验位奇校验、偶校验(可调)停止位1表1 UART协议规格(6)在实现以上功能的基础上,对电路进行优化,降低资源利用率;(7)基于以上要求

FPGA纯verilog实现UDP协议栈,sgmii接口SFP光口收发,提供工程源码和技术支持

目录1、前言2、我这里已有的UDP方案3、该UDP协议栈性能4、详细设计方案SFPGMIIAXIS接口模块AXISFIFOUDP协议栈1G/2.5GEthernetPCS/PMAorSGMII5、vivado工程详解6、上板调试验证并演示准备工作查看ARPUDP数据回环测试7、福利:工程代码的获取1、前言目前网上的fpga实现udp基本生态如下:1:verilog编写的udp收发器,但中间的FIFO或者RAM等调用了IP,或者不带ping功能,这样的代码功能正常也能用,但不带ping功能基本就是废物,在实际项目中不会用这样的代码,试想,多机互联,出现了问题,你的网卡都不带ping功能,连基本的