社区
单片机/工控
帖子详情
请求算法?关于串口读写速度问题。
cyczl666
2003-09-11 09:20:24
请求算法:
我现在有十块仪表串联接到串口,上位机监控数据,但需要向每块表发送指令才能得到相应的返回数据,串口通讯的速度一定小于语句的速度,每块表需要读4个数据,这样一共40此发送和接收,怎样使得速度最快还不会出现冲突。
...全文
118
9
打赏
收藏
请求算法?关于串口读写速度问题。
请求算法: 我现在有十块仪表串联接到串口,上位机监控数据,但需要向每块表发送指令才能得到相应的返回数据,串口通讯的速度一定小于语句的速度,每块表需要读4个数据,这样一共40此发送和接收,怎样使得速度最快还不会出现冲突。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
136196
2003-09-17
打赏
举报
回复
(1)此处向你提供一种实例参考:
单片机主从分布,即所有子单片机的接收端接主单片机发送端,所有子单片机的发送端接主单片机接收端;
使用中断方式3;
初始化时剔除未响应设备,及报错,那么在实际执行中,将很少用到超时;
轮讯;
波特率9600,10台外设,轮讯周期为1/32秒。
(2)分级式控制,分级汇报,汇总:
将使用更多的CPU;且主单片机及从主单片机将具有双串口。
xiaocha
2003-09-16
打赏
举报
回复
???通讯正常时1.5秒循环一次,每次发出指令等待返回,超过150ms就超时???
难道正常时也每次都超时???
收完一个下位机的数据,立即切换可能会更快些!!!
dboy1981
2003-09-16
打赏
举报
回复
Solution 1: 可以模仿环形令牌网的方式,一个表传完数据后让下个表传输数据。最好通过硬件来实现,一个表传输完后从某个口输出一个脉冲,通知下个表传输,缺点是成本提高,而且距离大的话可能实现有困难,且其中一个表坏了,整个网络都不通。
Solution 2: 在上位机软件的算法方面解决。在通信协议上,采用 ht_toto(独眼龙) 的建议,将四个数据一起传输,并定义数据串的前导符和终止符以及每个数据的分隔符;在串口的设置上,设定每个字符触发一次串口事件;算法如下:定义一个全局字符变量,当受到的字符串的第一个字符为前导字符,将字符串赋值给全局变量,同时检测最后一个字符是否为终止字符,如果不是,则返回,如果是,则发送下一个采样指令,然后提取、处理数据,初始化全局变量。这样就可以在最大程度上使数据的传输保持连续。
如果有什么考虑不周全的地方,请大家指出讨论。
ht_toto
2003-09-14
打赏
举报
回复
可以采用一次读取4个数据的方法,以减少上位机的发送次数和收发切换的次数。这样,在理论上,用于数据传输上的时间可以减少到原来的62.5%,而用于收发切换的时间则可减少到原来的25%。
cyczl666
2003-09-13
打赏
举报
回复
波特率9600,还好,现在通讯正常时1.5秒循环一次,每次发出指令等待返回,超过150ms就超时,这样速度不算快,但准确性还能保证。
888yifeng
2003-09-12
打赏
举报
回复
你只要保证同一时间只有一个CPU“发话”
再保证每个CPU的驱动能力一般就没问题了。
如果负载很多,那速度要提高就只能靠驱动了。
要不然波特率高了波形就会失真,幅度也会下降,
建议你用示波器,看一下波形,一般是可以看出问题的。
cyczl666
2003-09-12
打赏
举报
回复
我本来就是多地址的,每块标有一个Addr。查询就是很慢,快了就容易冲突。
888yifeng
2003-09-11
打赏
举报
回复
用单片机也不难,给每块表编个地址就可以了,只是速度不可能太高。
程序处理也比较麻烦。
888yifeng
2003-09-11
打赏
举报
回复
用DSP吗?
如果是可以设串口模式为地址位多处理器模式。
地址对应才通信,而之后的数据由于其没有地址位下位机不动作。
而其波特率可以达到1。8MBit/S,应该可以满足你的要求。
内功修炼之数据结构与
算法
内容简介: 无论你是从事业务开发,还是从事架构设计,想要优化设计模式,数据结构与
算法
是必备的一门学科,本课程使用Java来讲解数据结构和
算法
,考虑到数据结构和
算法
较难,授课采用图解加
算法
游戏的方式。内容包括: 稀疏数组、单向队列、环形队列、单向链表、双向链表、环形链表、约瑟夫
问题
、栈、前缀、中缀、后缀表达式、中缀表达式转换为后缀表达式、递归与回溯、迷宫
问题
、八皇后
问题
、
算法
的时间复杂度、冒泡排序、选择排序、插入排序、快速排序、归并排序、希尔排序、基数排序(桶排序)、堆排序、排序
速度
分析、二分查找、插值查找、斐波那契查找、散列、哈希表、二叉树、二叉树与数组转换、二叉排序树(BST)、AVL树、线索二叉树、赫夫曼树、赫夫曼编码、多路查找树(B树B+树和B*树)、图、图的DFS
算法
和BFS、程序员常用10大
算法
、二分查找
算法
(非递归)、分治
算法
、动态规划
算法
、KMP
算法
、贪心
算法
、普里姆
算法
、克鲁斯卡尔
算法
、迪杰斯特拉
算法
、弗洛伊德
算法
马踏棋盘
算法
。为什么学数据结构与
算法
?
算法
是一个程序员真正的核心竞争力。无论用哪种语言做开发,
算法
从程序角度而言都是灵魂内核般的存在。程序的躯体可以各式各样,但是内核一定要追求高效整洁。同时掌握了
算法
,大厂名企的Offer不再是梦寐以求的梦想,而让程序高效且健壮,也不再是难以完成的技术难题。所以无论是为提升自我内功修炼,还是提升程序灵魂内核健全,学习
算法
,都是现有可供选项里的最优解。课程大纲:为了让大家快速系统了解数据结构与
算法
知识全貌,我为你总结了「数据结构与
算法
框架图」,帮你梳理学习重点,建议收藏!! CSDN学院Java答疑群:
【USB】Android实现
读写
USB
串口
数据
最近在研究USB方面的内容;先后做了关于Android
读写
HID、
串口
设备的DEMO。本文比较简单,主要介绍的是Android实现读取
串口
数据的功能 废话不多说,先看一下业务层是如何调用的;如图: 首先,监听USB连接状况,当USB 进行
请求
USB权限,当USB权限申请成功,进行调用打开Usb设备的方法;当监听到USB断开,进行关闭连接; 这是向
串口
写入数据的方法; 本DEMO主要使用Handle进行数据各个线程之间的数据传到,以及USB连接
读写
情况的反馈; 下面直接上代码: 连接USB设备的代码 p
Matlab
串口
数据接收发送流程和
串口
速度
提高
在进行PID参数整定的工作过程中,我需要将电机的转速、扭矩、母线电压、母线电流、相电压、相电流等参数通过
串口
传递到电脑上用Matlab来进行BP神经网络
算法
的PID整定计算,再将计算得到的PID参数传给电机的驱动板,来控制电机运行。在整个过程中采用了Matlab来进行
串口
数据的
读写
。目前整个流程已经走通,在此将实现过程中遇到的
问题
,解决方法,以及尚未解决的疑问进行总结。 首先声明本人是一个初学M...
基础架构:etcd一个读
请求
是如何执行的?
这一章主要讲解etcd读
请求
过程。 先附一张etcd简要架构图 client层:Client 层包括 client v2 和 v3 两个大版本 API 客户端库,提供了简洁易用的 API,同时支持负载均衡、节点间故障自动转移,可极大降低业务使用 etcd 复杂度,提升开发效率、服务可用性 api网络层:API 网络层主要包括 client 访问 server 和 server 节点之间的通信协议。一方面,client 访问 etcd server 的 API 分为 v2 和 v3 两个大版本。v2
分布式共识
算法
(Consensus Algorithm)
分布式共识
算法
(Consensus Algorithm) 如何理解分布式共识? 多个参与者针对某一件事达成完全一致:一件事,一个结论 已达成一致的结论,不可推翻 有哪些分布式共识
算法
? Paxos:被认为是分布式共识
算法
的根本,其他都是其变种,但是 paxos 论文中只给出了单个提案的过程,并没有给出复制状态机中需要的 multi-paxos 的相关细节的描述,实现 paxos 具有很高的工程复杂度(如多点可写,允许日志空洞等) Zab:被应用在 zookeeper 中,业界使用广泛,...
单片机/工控
27,382
社区成员
28,770
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章