草庐IT

收发存

全部标签

stm32F407学习DAY.14 在DMA模式下进行USART串口数据收发(正点原子例程为例)

目录一、DMA配置1、DMA1和DMA2的请求映射2、DMA挂载总线3、DMA相关库函数​4、DMA配置过程(以串口1为例)1)进行时钟使能2)等待DMA可配置3)初始化DMA(串口1的TX为DMA2数据流7通道4,RX为DMA2数据流5 通道4)a.DMA外设地址par:b.DMA存储器0地址mar:c.数据传输量ndtr:4)开启DMA数据传输(初始化函数后写)二、USART串口配置0、串口相关库函数1、串口发送与接收函数初始化思路 2、senddata和receivedata库函数(一般在主函数中调用)1)USART_SendData(USART_TypeDef*USARTx,uint1

STM32F407普通IO口模拟串口实现不定长数据收发

前言因为项目中用到的串口比较多,STM32F407VET6自带的串口不够用了,所以只能考虑用模拟串口来实现功能。普通的IO口来模拟串口需要先了解串口的时序图,需要用到两个IO引脚即收发引脚,两个定时器,一个用于发送延时使用,一个用于产生中断接收数据。代码的初始化主要用CubeMx自动生成,功能代码自己完成。下面一起来看看吧。目录前言一、普通IO模拟串口原理二、实际应用1.STM32CubeMx初始化2.数据发送和接收功能代码测试功能代码一、普通IO模拟串口原理单片机普通io模拟串口的关键在于弄清楚串口的时序图,也是普通IO需要严格的遵循串口协议规则,串口时序图如下图所示。 一个起始位是从高电平

赛灵思7系列FPGA GT收发器中的RX均衡器

一、架构简述        串行信号经过传输媒介时,必然伴随着衰减或者扭曲。为了减少信号衰减带来的串行误码率,并且兼顾功耗与性能,GT收发器提供了两种信号改善方法:一种是LPM模式(low-powermode),另一种是DFE模式(判决反馈均衡器DecisionFeedbackEqualizer)。        DFE模式是一种离散时间的自适应高通滤波器(DFE实现了一种非线性均衡器),相比较线性均衡器,提供了更好的滤波器参数,能够提供更佳的信号增益补偿。后面会大致介绍一下线性均衡器与DFE均衡器的架构与实现方式。  LPM模式架构:GTXDFE模式架构:GTHDFE模式架构:下面对架构图中

入门小白:STM32hal库实现ESP8266与手机通信(不定长数据收发和ESP8266使用的一些问题)

目录前言一、stm32cubeMX的串口配置二、空闲中断+dma接收三、ESP8266.c和ESP8266.hESP8266.hESP8266.c注意事项四、与手机通信例程步骤: 例程代码main.c运行结果五、相关问题总结相关的app和源码前言前提:1.掌握串口通信和ESP8266的使用方法串口通信:单片机串口通信不理解?STM32的USART和UART差在哪里?几分钟给你讲清楚!(STM32教程基于HAL库和CUBEIDE)_哔哩哔哩_bilibiliESP8266的使用 STM32HAL库使用ESP8266模块_halesp8266_啵啵520520的博客-CSDN博客2.这次采用的空闲

【紫光同创国产FPGA教程】——【PGL22G第七章】串口收发实验例程

本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处 适用于板卡型号:紫光同创PGL22G开发平台(盘古22K)一:盘古22K开发板(紫光同创PGL22G开发平台)简介盘古22K开发板是基于紫光同创Logos系列PGL22G芯片设计的一款FPGA开发板,全面实现国产化方案,板载资源丰富,高容量、高带宽,外围接口丰富,不仅适用于高校教学,还可以用于实验项目、项目开发,一板多用,满足多方位的开发需求。二:实验目的MES22GP开发板集成了一路USB转串口模块,采用的USB-UART芯片CP2102,USB接口采用USBTypeC接口,可以用一根USBTypeC线连

STM32(8)-DMA+串口实现双开发板数据收发

我通过学习江科大的视频以及CSDN一位大佬的博客,在下面记录下我对DMA的理解。文章目录一、存储器、寄存器二、具体代码1.STM32(发送方)DMA配置(1)作为发送方,自然数据要从内存发往串口数据寄存器去,我定义一个数组,并编写两个函数,分别返回温度和湿度数值,作为数组里的元素。(2)配置DMA,方向是从内存到外设寄存器(3)配置DMA初始化(4)DMA开启传输函数(5)主程序2.CH32V307(接收方)采用普通的串口中断接收3.CH32V307(接收方)DMA配置(1)作为接收方,自然数据要从串口数据寄存器发往内存去,因此DMA配置要更改。(2)DMA启动程序(3)主程序三、结果:四、一

终于讲透了,史上最详细的RS485自动收发电路你一定要掌握

摘要:关于485通讯大家肯定不陌生,那么你会设计一个485电路而且能自带收发功能的吗?或者还是直接随便找一个电路甚至不管其中的原理就用上了。485通信一般离不了单片机控制,所以一般单片机尤其是STM32单片机之类的开发板上面都有RS485通信模块,因为485通讯只需要你的MCU有串口就可以了。下面再某宝上找了几款STM32开发板上面关于485通信模块的电路图,发现有几家竟然电路图一模一样,而且画法也一模一样。原子哥硬石普中洋桃安富莱野火可以发现,485通讯模块大家普遍用的只有两种芯片,SP3485和MAX485,而且原理图画的都差不多。1、传统RS485电路不管是SP3485还是MAX485它

ARM Cortex-M4|非常好用的一种串口收发方式

    在这里分享项目中我经常使用的一种串口收发方式:阻塞发送+ 接收中断+空闲中断+ 环形队列   项目代码地址:https://gitee.com/Mokun_gitee/stm32_hal_study.git 一、简介  串口发送使用最简单的阻塞发送方式,一般来说都是接收的数据量比较大,发送数据用此方式即可。  串口接收使用接收中断+空闲中断+FIFO,数据量一般的使用没有问题,若数据很大,考虑使用加上DMA来传输。 二、STM32CubeMX配置串口  串口参数默认配置   打开串口中断   使用LL库进行开发 三、添加FIFO缓冲区   编写FIFO数据结构,环形队列由数组实现,提供

串口转RS485:自动收发串口转RS485设计注意事项

自动收发串口转RS485设计注意事项文章目录自动收发串口转RS485设计注意事项1.传统的串口转RS485设计2.自动收发串口转RS485设计3.自动收发串口转RS485设计优缺点1.传统的串口转RS485设计传统的485应用电路如下所示(懒得画了,找个现成的,此图截取自安富莱电子),RS#、DE分别是控制接收和发送,具体来说RE#:0接收使能,1接收禁止;DE:1发送使能,0发送禁止;RS#、DE是反向逻辑,因此我们常将RS#、DE连在一起,当MCU要发送数据的时候,就将RS#/DE引脚拉高,当MCU发送完成后,就将引脚拉低,来等待外部485数据。对于上图的R2和R4,用于钳住485接口的默

缓冲器/驱动器/收发器IC

一、前言记录学习未使用过的IC,开发使用新的IC,哎,就是玩本编文章主要介绍缓冲器/驱动器/收发器目录一、前言二、环境三、正文1.SN74HCT245NSR2.四、结语二、环境FPGA或MCU低驱动能力引脚单向长距离信号三、正文1.SN74HCT245NSRDIR高电平,A到B可控制,B到A不可控制DIR低电平,B到A可控制,A到B不可控制OE高电平,所有通道端口高阻OE低电平,所有通道端口激活所有引脚不得超过电源电压,当需求超宽温时,选择SN54HCT245逻辑收发器通常用在背板和带状电缆应用中,其中来自FPGA或MCU的信号太弱而无法达到远端,收发器起到放大器的作用,使信号通过线路,并且由