找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1596|回复: 19
打印 上一主题 下一主题
收起左侧

有些单片机没有UART通信这个资源,所以UART通信也需要自己模拟这样子吗?

  [复制链接]
跳转到指定楼层
楼主
ID:1091094 发表于 2023-11-12 18:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:857072 发表于 2023-11-12 20:01 来自手机 | 只看该作者
99%的单片机都有这个资源你要用它为什么选个选那1%呢
回复

使用道具 举报

板凳
ID:213173 发表于 2023-11-12 20:23 | 只看该作者
练练手玩玩可以,不是不得以不要指望模拟串口,这样玩相当占用时间资源。不如换MCU,价钱差不多,何必和自己过不去。
回复

使用道具 举报

地板
ID:883242 发表于 2023-11-12 20:29 | 只看该作者
20年前还有,现在没见过。
回复

使用道具 举报

5#
ID:195496 发表于 2023-11-12 20:35 | 只看该作者
模拟的单纯发送还行,要是接收就太费CPU时间了,不如换个单片机
回复

使用道具 举报

6#
ID:998236 发表于 2023-11-12 21:09 | 只看该作者
假如uart口缺乏,可以写c代码模拟uart协议的收发
回复

使用道具 举报

7#
ID:57657 发表于 2023-11-12 22:37 | 只看该作者
1位起始位(低电平)+8位数据位(低位在前)+1位停止位(高电平) ,1/波特率秒传输一位,空闲高电平。
回复

使用道具 举报

8#
ID:517951 发表于 2023-11-13 07:46 | 只看该作者
8个脚的SOP8那种封装的单片机, 就有些是没有串口的, 价格很低的, 比如辉芒的单片机
回复

使用道具 举报

9#
ID:1064915 发表于 2023-11-13 08:38 | 只看该作者
模拟串口,学习可以,实用还是换单片机
回复

使用道具 举报

10#
ID:1099448 发表于 2023-11-13 10:03 | 只看该作者
是的,你也可以自己做通信协议
回复

使用道具 举报

11#
ID:879348 发表于 2023-11-13 10:43 | 只看该作者
我觉得不要花心思研究这些
回复

使用道具 举报

12#
ID:1034262 发表于 2023-11-13 11:12 | 只看该作者
串口不够时我也常用软件模拟串口,90奶奶嗲的MCU速度慢,我只模拟4800以下的波特率,现在的MCU速度快,模拟4路9600的全双工串口,占CPU时间不会太多(20%以内),与MCU原来的4个串口组成8个串口,然后SUB接上位机。
回复

使用道具 举报

13#
ID:57657 发表于 2023-11-13 12:21 | 只看该作者
coody_sz 发表于 2023-11-13 11:12
串口不够时我也常用软件模拟串口,90奶奶嗲的MCU速度慢,我只模拟4800以下的波特率,现在的MCU速度快,模拟 ...

软件模拟串口的波特率与晶振频率、单片机性能有关,定时器中断用自动重装初值模式。
回复

使用道具 举报

14#
ID:57657 发表于 2023-11-13 12:25 | 只看该作者
大漠落日 发表于 2023-11-12 20:35
模拟的单纯发送还行,要是接收就太费CPU时间了,不如换个单片机

串口接收不用死等,P3.0有下降沿中断,中断来了再接收即可。
回复

使用道具 举报

15#
ID:1059013 发表于 2023-11-13 14:17 | 只看该作者
npn 发表于 2023-11-13 12:25
串口接收不用死等,P3.0有下降沿中断,中断来了再接收即可。

串口速度很慢,就是用中断也是差不多死等!
回复

使用道具 举报

16#
ID:1097455 发表于 2023-11-13 15:09 | 只看该作者
模拟串口速度达不到的,但是可以用把协议定下来
回复

使用道具 举报

17#
ID:123289 发表于 2023-11-14 09:15 | 只看该作者
你是想法是对的。
回复

使用道具 举报

18#
ID:1093268 发表于 2023-11-14 12:09 | 只看该作者
是的,就只能用IO模拟。有些单片机没有UART,但价格胜在便宜。有个客户,之前有个产品一个月有个五百来K的量(一片便宜一点点总体就能省不少钱了),所以就选这种没有UART的单片机,自己用IO模拟,9600波特率。产品的任务进程不多,所以发送直接是阻塞发送,接收是用中断+定时器来做,2倍采样率,再弄个超级mini的FIFO接收缓冲区。当然现在他已经用IO模拟IIC,因为后级的芯片,他改选用IIC接口的了。没错因为那个IIC接口的芯片更便宜。
回复

使用道具 举报

19#
ID:283954 发表于 2023-11-14 18:57 | 只看该作者
我玩过312500BPS的,好像可以,但偶尔会失误,不可靠,想用发三码检验二码的方法提高可靠性,后来发现MCU串口内部就是取三电平检验二电平的,何必麻烦,就用内部串口了,如果你的速率不高,应该可以,也可以试验发三码检验二码的方法,看看可靠性是否达到100%。
回复

使用道具 举报

20#
ID:675287 发表于 2023-11-15 17:07 | 只看该作者
模拟的话波特率不能太高,9600以下都还可以
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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