0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32G070多串口终端实现

jf_pJlTbmA9 来源:电子产品世界论坛 作者:电子产品世界论坛 2023-10-31 17:17 次阅读

多串口终端

此功能计划使用存储-转发模式,先将数据从Usart2中的数据全部接收完成,再将数据转发到对应串口外设。

此方案的优势:可以分时复用多串口接口。比较好的应用于主-从协议栈,如Modbus-RTU协议栈。

此方案的劣势:对流式数据不太友好。

硬件设计:

其实硬件设计上面并没有突出的事项,只是利用了STM32G070支持多串口外设,且每个串口外设支持RS485的自动换向驱动。芯片功能强大之后,在硬件设计上面就显得简单的多了。这里版主也就不再过多的讲述,大家参考一下官方的设计方案或者RS485的常规参考设计即可。

软件设计:

软件设计上面,版主采用了三段式的设计方案,引入RTOS信号量与中断的设计方案。为了方便大家的理解,版主绘制了下面的数据流程图供大家分析。

wKgZomUD43GAfoU6AAX5pWYjo04107.png

大致的设计思路就是:数据流输入,数据流调度与数据输出,三个部分。在数据的流转过程中,在数据接收完成,调试前,调试后均添加回调函数来实现对数据流的过滤处理,如数据格式的转换,数据包校验与丢弃等。

来源:电子产品世界论坛


审核编辑:汤梓红


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • MODBUS
    +关注

    关注

    28

    文章

    1801

    浏览量

    76956
  • 串口
    +关注

    关注

    14

    文章

    1551

    浏览量

    76431
  • RTU
    RTU
    +关注

    关注

    0

    文章

    412

    浏览量

    28672
收藏 人收藏

    评论

    相关推荐

    如何设置STM32G070在工作电源降低到2.7V以下就复位停机?

    我有个应用设计,MCU用的是STM32G070rbt6芯片,外扩了一片铁电存储器FRAM。STM32G070在2.0V-3.3V工作电压下都能正常工作,但铁电存储器FRAM的工作电压
    发表于 03-13 08:04

    stm32G070串口设置外部中断触发退出低功耗后重新变为串口串口发送后退出低功耗为什么会卡死?

    stm32G070低功耗STOP模式外部中断唤醒,串口设置外部中断触发退出低功耗后重新变为串口串口发送后 退出低功耗不知道为什么会卡死
    发表于 03-20 07:24

    STM32G070 ADC如何禁用内部基准?

    STM32G070 :使用ADC时,不想使用MCU自带的VREF电压源,但只要使能ADC的ADEN位(CR寄存器),内部的电压源自动被使能(ADVREGEN=1),似乎是同步的。ADEN位置1后,ADVREGEN位就不能修改了。手册中说明,可以使用外部的基准 求帮助呀!!!!!!!!!
    发表于 03-27 06:50

    stm32g070怎么调试才能降低功耗?

    stm32g070,单芯片的最小系统板使用官方例程进入standy 模式后电量70ua左右,和手册的1,2个ua不符,已经确定是芯片的功耗的,不知道该怎么调试才能降低功耗
    发表于 03-28 06:46

    STM32G070 SPI主机只接收模式关闭SPI使能后为什么还有时钟输出?

    使用STM32G070,一个板子实现主机只接收,另一个板子实现从机只发送,通信波形上发现主机SPI关闭使能后,片选信号已经置高,仍然有8个时钟输出,如图所示,是要注意什么吗?
    发表于 03-28 07:08

    请问STM32G070的DMA支持把sram的数据搬到Flash吗?

    STM32G070的DMA支持把sram的数据搬到Flash吗?
    发表于 03-28 09:46

    stm32G070 GPIO的输出能力很弱的原因?

    stm32G070 GPIO的输出能力似乎很弱,GPIO配置如下 在配置GPIO输出高电平的时候无法输出,去掉R128就可以输出高电平
    发表于 03-29 09:10

    如何用Arduino开发STM32G070

    如何用Arduino开发STM32G070,各位大神有相关教程吗。我如何在Arduino的开发板管理器中添加STM32G070开发板,如何把程序下载到CPU中?
    发表于 04-07 08:22

    如何利用STM32G070点亮LED

    (chong)闲(shi),自己试着学了点不一样的东西,那就是“STM32G070”。本着查漏补缺的态度买了课程和活动送的开发板,如图:这两天上完了基础课程,今天就来记录一下:ST官网描述一,背景:首先G070它是ST公司的,支持Arduino和ST Morpho,采用C
    发表于 12-10 07:11

    STM32G070的4个引脚相关资料推荐

    #STM32G070踩坑1. PB15/PA8默认4K下拉Bit 10 UCPD2_STROBE: PD0 and PD2 pull-down configuration strobeUpon
    发表于 12-10 08:10

    请问如何在STM32G070中使用DSP?

    我已经在STM32F411中成功使用DSP,但是当我想在STM32G070中使用DSP时,我发现DSP文件有些不同,例如G070的DSP文件:./Sourse/。有一个 Cmakelists.txt
    发表于 12-13 07:15

    STM32G070如何从内部温度传感器计算当前环境温度?

    我的问题暗示 STM32G070 没有可用的 TS_CAL2 值,尽管其参考手册 RM0454 在第 292 页(14.9 温度传感器和内部参考电压:读取温度)对其进行了描述。由于数据表中还没有提到
    发表于 01-16 08:56

    STM32G070 DMA ADC通道数据错位

    STM32G070 配置DMA ADC转换。想通过软件定时触发连续转换一个序列后停止。测试时发现采样时间设置快了会出现ADC通道数据错位的现象。查看编程手册,才发现问题,厂家是认真的吗,ADC连续采样还有啥意义。求解惑
    发表于 03-01 16:56

    实战经验 | 移植 SBSFU 到 STM32G070 的过程

    关键词:SBSFU,移植 目录预览 1、前言 2、基于STM32G070STM32G071的SBSFU 实现差异 3、开始移植 4、测试安全保护特性 5、后述 01 前言 客户
    的头像 发表于 12-08 18:20 858次阅读

    移植 SBSFU 到 STM32G070 的过程

    电子发烧友网站提供《移植 SBSFU 到 STM32G070 的过程.pdf》资料免费下载
    发表于 12-18 11:04 4次下载
    移植 SBSFU 到 <b class='flag-5'>STM32G070</b> 的过程