搜索
bottom↓
回复: 23

请教各位大佬,单线通讯有什么好用的通讯方式?

[复制链接]

出0入14汤圆

发表于 2023-12-20 12:28:52 | 显示全部楼层 |阅读模式

1、现在需要弄个单线通讯(基本单向发送就可以),想找个通用点的通讯方式;

2、个人中意串口,可是接收方串口不够用,只有有模拟,为了兼容稳定性,想弄成3K左右的波特率(接收方100us的中断最好),市面上好像也没有非标波特率的串口;

出615入1076汤圆

发表于 2023-12-20 12:46:22 来自手机 | 显示全部楼层
串口可以啊,担心什么?

> 没有非标波特率的串口
是指什么?波特率基本都可以随便定的,个别串口工具软件没支持手动填写波特率而已

出235入235汤圆

发表于 2023-12-20 13:13:25 | 显示全部楼层
1、电平根据传输距离确定;
2、波特率,目前大部分单片机、上位机都支持自定义波特率了。

出20入62汤圆

发表于 2023-12-20 13:19:38 | 显示全部楼层
串口协议就不错啊~网上一大堆可以参考的。

出0入91汤圆

发表于 2023-12-20 14:00:39 | 显示全部楼层
两根线用串口    一根线就用单总线协议 (18b20)的这种

出0入84汤圆

发表于 2023-12-20 14:15:49 | 显示全部楼层
都模拟了还在乎波特率是不是标准的吗?以前一个项目模拟四个双向串口,运行很稳定,网上例程很多

出0入362汤圆

发表于 2023-12-20 14:43:08 | 显示全部楼层
本帖最后由 tomzbj 于 2023-12-20 14:44 编辑

elm-chan (就是流行的fatfs的作者)写过一个软件实现的uart, 不过是跑在avr上面的. 可以参考他的改改.

链接: http://elm-chan.org/docs/avrlib/suart.zip

要不就用类似18b20或者红外之类的方式, 用脉冲长短表示1和0, 不用考虑双向发送的话也很简单.

出0入14汤圆

 楼主| 发表于 2023-12-20 15:14:39 | 显示全部楼层
dukelec 发表于 2023-12-20 12:46
串口可以啊,担心什么?

> 没有非标波特率的串口
(引用自2楼)

为了方便监测,没找到可以随意输入波特率的上位机软件

出0入14汤圆

 楼主| 发表于 2023-12-20 15:15:44 | 显示全部楼层
lyping1987 发表于 2023-12-20 13:13
1、电平根据传输距离确定;
2、波特率,目前大部分单片机、上位机都支持自定义波特率了。 ...
(引用自3楼)

单片机随意指定波特率可以,我想找个可以随意输入波特率的上位机软件

出0入4汤圆

发表于 2023-12-20 15:22:42 | 显示全部楼层
这个就任意波特率的串口助手 ,配合CH340实测可用。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2023-12-20 16:18:03 | 显示全部楼层
dukelec 发表于 2023-12-20 12:46
串口可以啊,担心什么?

> 没有非标波特率的串口
(引用自2楼)

请问一下 printf 感觉明显耗时 这个有什么方案 可以替换吗?

出0入475汤圆

发表于 2023-12-20 16:49:08 来自手机 | 显示全部楼层
阿豪博士 发表于 2023-12-20 16:18
请问一下 printf 感觉明显耗时 这个有什么方案 可以替换吗?
(引用自11楼)

哪里耗时,芯片端还是电脑
芯片端的话,波特率已知的,自己测试一下纯输出(不用print里面的格式换算等等,实际就是单字节死等发送)情况时间是不是和波特率一致的,是的话要么就是你的芯片在干其它事情(比如被中断打扰,格式化处理太好资源等),
如果都没问题,那还有啥办法啊,只有dma了

出1310入193汤圆

发表于 2023-12-20 17:08:14 | 显示全部楼层
isakura 发表于 2023-12-20 15:15
单片机随意指定波特率可以,我想找个可以随意输入波特率的上位机软件
(引用自9楼)

stc助手  最高版本的
论花俏和稳定性 stc真不赖

出0入14汤圆

 楼主| 发表于 2023-12-20 22:28:58 | 显示全部楼层
Landmark 发表于 2023-12-20 15:22
这个就任意波特率的串口助手 ,配合CH340实测可用。
(引用自10楼)

多谢,我先看看

出0入14汤圆

 楼主| 发表于 2023-12-20 22:30:45 | 显示全部楼层
lb0857 发表于 2023-12-20 17:08
stc助手  最高版本的
论花俏和稳定性 stc真不赖
(引用自13楼)

请问有版本号吗?我打开官网主页,都是下载助手,不知道哪个版本好

出0入362汤圆

发表于 2023-12-20 22:38:16 | 显示全部楼层
阿豪博士 发表于 2023-12-20 16:18
请问一下 printf 感觉明显耗时 这个有什么方案 可以替换吗?
(引用自11楼)

最简单的办法, 波特率高点, 你要是主频够高, 波特率直接500000

不行就折腾中断发送和DMA发送吧

出1310入193汤圆

发表于 2023-12-20 22:57:26 来自手机 | 显示全部楼层
isakura 发表于 2023-12-20 22:30
请问有版本号吗?我打开官网主页,都是下载助手,不知道哪个版本好
(引用自15楼)

最高版本号,支持自定义波特率
ascii和hex特别显示等等功能

出105入79汤圆

发表于 2023-12-20 23:49:10 | 显示全部楼层
阿豪博士 发表于 2023-12-20 16:18
请问一下 printf 感觉明显耗时 这个有什么方案 可以替换吗?
(引用自11楼)

printf 最后必须是\n 才会输出

出0入475汤圆

发表于 2023-12-21 09:50:10 来自手机 | 显示全部楼层
qwe2231695 发表于 2023-12-20 23:49
printf 最后必须是\n 才会输出
(引用自18楼)

我不认同你的说法啊,你试过没有?

出105入79汤圆

发表于 2023-12-21 12:35:50 | 显示全部楼层
本帖最后由 qwe2231695 于 2023-12-21 12:49 编辑
1a2b3c 发表于 2023-12-21 09:50
我不认同你的说法啊,你试过没有?
(引用自19楼)


试过了,不带\n会很久

一般是编写putchar函数获得c库的printf内容,然后串口发出。printf的缓冲区具备 行缓冲 特性,即 若打印的数据没有添加换行符,则不会立即打印,将会一直等到遇到 '\n' 或是 缓冲区满了(强制清除缓冲区)才会输出。

出0入4汤圆

发表于 2024-2-5 16:26:53 | 显示全部楼层
IO Link试试

出0入362汤圆

发表于 2024-2-15 19:03:47 | 显示全部楼层
qwe2231695 发表于 2023-12-21 12:35
试过了,不带\n会很久

一般是编写putchar函数获得c库的printf内容,然后串口发出。printf的缓冲区具备  ...
(引用自20楼)

printf之后紧接一条fflush(stdout)就解决了

出0入475汤圆

发表于 2024-2-15 23:42:59 来自手机 | 显示全部楼层
tomzbj 发表于 2024-2-15 19:03
printf之后紧接一条fflush(stdout)就解决了
(引用自22楼)

一般不是Linux一类的才有这个问题吗?单片机从来没有过呢,
有一次改树莓派的一个程序试出来的,一点不懂,搜半天发现要加个flush就是立即输出的意思😂

出0入362汤圆

发表于 2024-2-16 10:39:22 | 显示全部楼层
1a2b3c 发表于 2024-2-15 23:42
一般不是Linux一类的才有这个问题吗?单片机从来没有过呢,
有一次改树莓派的一个程序试出来的,一点不懂 ...
(引用自23楼)

看你单片机的stdio是怎么实现的吧, 我用stm32+gcc, 用标准库的printf, 一样有这个问题.

如果是某些魔改的printf就不一定了.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-6 00:48

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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