硬汉嵌入式论坛

 找回密码
 立即注册
查看: 427|回复: 5
收起左侧

[技术讨论] 关于IO模拟串口

[复制链接]

7

主题

26

回帖

47

积分

新手上路

积分
47
发表于 2024-3-21 16:31:43 | 显示全部楼层 |阅读模式
用IO模拟串口,假如选择传统的1个起始位,一个终止位,8个数据位,那发一帧串口数据包,8位最大只能发送的数值是255,那是不是意味着,我们不能发送超过255的数值呢,比如1000这些,是不是用串口实现不了?如果想实现,是不是要自己做私有协议?
回复

使用道具 举报

10

主题

90

回帖

120

积分

初级会员

积分
120
发表于 2024-3-21 18:18:07 | 显示全部楼层
模拟串口,还是洗洗睡吧。上次我对接一个模拟串口的。。。量产500套主板,有几十套始终不行。。。最后都改成硬件的,一下子就全部都行了。把另外一个串口拿过来重映射了。所以,建议不要模拟串口,可以模拟带时钟的协议,不要模拟这种协商的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2024-3-22 09:18:27 | 显示全部楼层
这种的只能分两次发。

前几天群友分享了个

任意GPIO使用TIM+DMA+EXTI模拟UART
https://www.armbbs.cn/forum.php? ... 3215&fromuid=58
(出处: 硬汉嵌入式论坛)


回复

使用道具 举报

36

主题

1445

回帖

1553

积分

至尊会员

积分
1553
发表于 2024-3-22 10:17:39 | 显示全部楼层
mrjiu 发表于 2024-3-21 18:18
模拟串口,还是洗洗睡吧。上次我对接一个模拟串口的。。。量产500套主板,有几十套始终不行。。。最后都改 ...

那是你代码问题把   只要时钟别偏移  就不会有问题
回复

使用道具 举报

7

主题

26

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2024-3-22 18:36:38 | 显示全部楼层
eric2013 发表于 2024-3-22 09:18
这种的只能分两次发。

前几天群友分享了个

硬汉哥你好,看了分享的程序,有一点疑惑,定时器触发DMA,定时器可以控制DMA的开始和终止时间,但是并不能控制DMA的数据传输速度啊,一次发送一帧数据,一帧有10BIT,但是我们怎么保证每一个BIT的电平保持时间符合UART要求呢?比如说,我们设置定时器10S,UPDATE一次,一帧传10BIT,那一个BIT的电平可以保持1S的时间,但是如果DMA仅需要5S就完成的一帧的传输呢,那岂不是一个BIT仅有0.5S的保持时间,接收方不就解码错误,而剩下的5S则是直接进入空闲状态?
回复

使用道具 举报

7

主题

26

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2024-3-22 18:43:49 | 显示全部楼层
定时器开启DMA后,通过DMA发送一帧数据,那每一个BIT数据的保持时间是如何确认的呢?
IO.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 20:59 , Processed in 0.219023 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表