打印
[PIC®/AVR®/dsPIC®产品]

PIC单片机简单串口通信用什么协议好

[复制链接]
2398|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
416775364TP|  楼主 | 2017-3-17 09:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题:各位觉得PIC单片机简单串口通信用什么协议好,主要是要少乘除计算,实时性要求;
沙发
416775364TP|  楼主 | 2017-3-17 10:34 | 只看该作者
顶一下

使用特权

评论回复
板凳
NE5532| | 2017-3-20 09:38 | 只看该作者
串口通信协议关乘除法干嘛?建议看看公开课内基础。

使用特权

评论回复
地板
山东电子小菜鸟| | 2017-3-20 20:58 | 只看该作者
串口通信协议关乘除法干嘛?建议看看公开课内基础

使用特权

评论回复
5
416775364TP|  楼主 | 2017-4-14 08:59 | 只看该作者
NE5532 发表于 2017-3-20 09:38
串口通信协议关乘除法干嘛?建议看看公开课内基础。

中低档单片机不带乘除法指令,协议里面最好不要有乘除法。

使用特权

评论回复
6
NE5532| | 2017-4-14 09:06 | 只看该作者
没看懂,能解释下串口怎么用上乘除法的么?

使用特权

评论回复
7
yxkt134| | 2017-4-14 10:20 | 只看该作者
波特率是:9600.
通讯协议:EB 00 55  GG 00 02 XX XX  CY
其中第1,2,3位EB 00 55就是数据头
其中第4位GG就是数据类型。01代表更改参数1,02代表更改参数2,03代表更改参数3,04代表更改参数4,
其中第5,6位00 02就是有效数据长度。高位在左,低位在右。
其中从第7,8位XX XX是被更改的参数。高位在左,低位在右。
第9位CY是累加和或者异或,前面所有字节的累加或者异或,进行校验。

使用特权

评论回复
8
MOn51| | 2017-4-23 09:00 | 只看该作者
1:私有协议
2:MODBUS

使用特权

评论回复
9
l87522| | 2017-4-23 09:36 | 只看该作者
通信协议根据实际情况,也可以自己内部定义。

使用特权

评论回复
10
416775364TP|  楼主 | 2017-4-25 21:41 | 只看该作者
NE5532 发表于 2017-4-14 09:06
没看懂,能解释下串口怎么用上乘除法的么?

数据处理时候用到乘除法。

使用特权

评论回复
11
416775364TP|  楼主 | 2017-4-25 21:43 | 只看该作者
NE5532 发表于 2017-3-20 09:38
串口通信协议关乘除法干嘛?建议看看公开课内基础。

数据处理时候用到乘除法。

使用特权

评论回复
12
yklstudent| | 2017-4-25 22:19 | 只看该作者
416775364TP 发表于 2017-4-25 21:43
数据处理时候用到乘除法。

数据处理跟通信协议又没有关系,你自己处理数据时用到乘除指令,跟协议有半毛钱关系》??

使用特权

评论回复
评论
NE5532 2017-4-26 10:14 回复TA
同意 
13
416775364TP|  楼主 | 2017-4-29 08:48 | 只看该作者
yklstudent 发表于 2017-4-25 22:19
数据处理跟通信协议又没有关系,你自己处理数据时用到乘除指令,跟协议有半毛钱关系》?? ...

那处理数据算不算协议的要考虑的一部分呢?有半毛钱关系。

使用特权

评论回复
14
yklstudent| | 2017-4-29 09:32 | 只看该作者
416775364TP 发表于 2017-4-29 08:48
那处理数据算不算协议的要考虑的一部分呢?有半毛钱关系。

你一根筋要认为,别人也没办法

使用特权

评论回复
15
416775364TP|  楼主 | 2017-5-7 23:10 | 只看该作者
yklstudent 发表于 2017-4-29 09:32
你一根筋要认为,别人也没办法

从上面的几位朋友的回复可以看出他们知道我要问的是什么,至于你估计牛X片子用多了,或者根本不知道我在问什么,瞎咋呼。

使用特权

评论回复
16
yklstudent| | 2017-5-8 09:57 | 只看该作者
416775364TP 发表于 2017-5-7 23:10
从上面的几位朋友的回复可以看出他们知道我要问的是什么,至于你估计牛X片子用多了,或者根本不知道我在 ...

呵呵。。。

使用特权

评论回复
17
王力斯| | 2017-8-1 17:31 | 只看该作者
协议根据实际情况去选择,也可以自己定义
自己定一个一般需要具备数据头,数据长度,命令,数据本体,校验,数据,结尾;基本上
具备这几个东西可以满足你绝大部分的需求,至于校验,可以选测CRC,也可以选择简单的累加等等,
现成的MODBUS

使用特权

评论回复
18
CoralEle| | 2017-8-3 11:32 | 只看该作者
协议可以自己定义吧,只要能确定接收到的数据没有出错就行,一般都是选择CRC校验的。最简单的就是奇偶校验了吧。之后再对接收到的数据在程序中转换进制,再进行运算存储等等的操作。

使用特权

评论回复
19
zouyu2001518| | 2017-8-10 16:20 | 只看该作者
如果芯片有usart口,直接使用,如果没用,可以用两个io口模拟串口通信过程,望采纳。

使用特权

评论回复
20
henglin| | 2017-8-13 10:23 | 只看该作者
这个问问题  太差劲    菜鸟级

去看看moudbus
或者xmodem

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:兴储世纪科技股份有限公司+软件工程师
简介:本人从事电源行业10年有余,主要从事过UPS软件开发及维护、车载OBC软件开发、300-3000W高频逆变器软件开发、工频逆控一体机软件开发、便携式交直流电源软件开发.

72

主题

749

帖子

6

粉丝