关于"利用RS-485通信协议实现PC机与单片机的多点通信"的书网上哪里有?
展开全部
貌似想问如何编程吗?
你这个问题看似简单,但对你问这样问题的人来说又是一个涉及面非常广的问题,
难!
1,必须明白 RS485 只是硬件信号或者电平的标准,简单的说就是数字方波芯片。
更常用的是RS232,台式电脑都有,现在笔记本一般没有了,可以找USB转232。
2,通常说的协议,是指软件协议,就是发送、接收的字符串格式(BIT串转成BYTE)。
串口协议,以我所接触到的各种协议,通常也不分层、都很简单。比ETHERNET的各种协议简单多了。
最简单的可以比方是:A发送一个“A”,B收到了“A”。
3,多点通讯,一对多?还是多对多?
你得了解或者自己有能力制订一个完善的协议、包括纠错。不过是更复杂一点了。
4,PC机与单片机,要实现这个编程,
你得会PC编程,VB?VC?ASM?.......
你得会单片机变成,KEIL C ?AVR?......
如果你有任一项编程不是那么强,这个问题回答你了,你也做不出来。还得有硬件。
5,综上,
建议你先别搞485,找两个PC,先搞232。如果电脑没有232,可以找USB转232。
软件上就只搞PC端。或者直接下个串口调试工具先模拟 A发送一个“A”,B收到了“A”。
先理解其原理。
如此,有了深厚的基础,你才把这个“小问题”搞得起来。
你这个问题看似简单,但对你问这样问题的人来说又是一个涉及面非常广的问题,
难!
1,必须明白 RS485 只是硬件信号或者电平的标准,简单的说就是数字方波芯片。
更常用的是RS232,台式电脑都有,现在笔记本一般没有了,可以找USB转232。
2,通常说的协议,是指软件协议,就是发送、接收的字符串格式(BIT串转成BYTE)。
串口协议,以我所接触到的各种协议,通常也不分层、都很简单。比ETHERNET的各种协议简单多了。
最简单的可以比方是:A发送一个“A”,B收到了“A”。
3,多点通讯,一对多?还是多对多?
你得了解或者自己有能力制订一个完善的协议、包括纠错。不过是更复杂一点了。
4,PC机与单片机,要实现这个编程,
你得会PC编程,VB?VC?ASM?.......
你得会单片机变成,KEIL C ?AVR?......
如果你有任一项编程不是那么强,这个问题回答你了,你也做不出来。还得有硬件。
5,综上,
建议你先别搞485,找两个PC,先搞232。如果电脑没有232,可以找USB转232。
软件上就只搞PC端。或者直接下个串口调试工具先模拟 A发送一个“A”,B收到了“A”。
先理解其原理。
如此,有了深厚的基础,你才把这个“小问题”搞得起来。
追问
首先非常感谢你!
我现在做基于rs485总线多点火灾报警系统,拿C语言在keil环境下编程的,简单的A发送一个“A”,B收到了“A”已经做出来了,还有一个主机,两个从机,主机发送一个从机地址,相应的从机现在也能接受到这个地址!我想一点一点做,但是有一点还不明白,网上大量资料都讲的是:
追答
一般商业典型应用的串口协议都是 主、从式(通常支持一主多从、主机主动) 。
你的需求是 主、从式通讯 + 从机也在需要时(火灾时)主动发送数据?
485 硬件决定了它必须有使能控制,
422也不能同时大家随意说话,要有话语权,
不像ETHERNET有介质访问控制,
所以如前面所说:你得了解或者自己有能力制订一个完善的协议,允许从机有机会主动说话。用令牌或者间隙传送实现。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询