找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机modbus双从机端口设计问题

[复制链接]
跳转到指定楼层
楼主
ID:236982 发表于 2019-2-9 12:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
51单片机(STC15或者STC8)实现MODBUS双从机端口,
利用单片机的串口1和串口2同时作为MODBUS RTU从机,一个端口可以实现,如果要实现通过两个串口实现从机功能,应该怎么处理
哪位能提供一下思路或者提供一个参考代码?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:236982 发表于 2019-2-13 15:15 | 只看该作者
自己先顶一下
回复

使用道具 举报

板凳
ID:158375 发表于 2019-2-13 16:20 | 只看该作者
既然使用 MODBUS,采用不同的地址就OK了。
回复

使用道具 举报

地板
ID:476229 发表于 2019-2-13 17:39 | 只看该作者
这个简单,我以前用stm32做过双串口实现MODBUS RTU从机,2个串口分别有自己的中断服务函数,接收buff,发送buff都不要共用,中断优先级也别抢占。把你写好的串口1的代码,复制一份出来,稍微修改一下就可以了

评分

参与人数 1黑币 +10 收起 理由
yousunny + 10 赞一个!

查看全部评分

回复

使用道具 举报

5#
ID:236982 发表于 2019-2-13 17:54 | 只看该作者
版主,都>96小时了,赶紧叫大师出来露个面
回复

使用道具 举报

6#
ID:236982 发表于 2019-2-13 20:08 | 只看该作者
lushaobiao1 发表于 2019-2-13 17:39
这个简单,我以前用stm32做过双串口实现MODBUS RTU从机,2个串口分别有自己的中断服务函数,接收buff,发送 ...

两个串口公用一个MODBUS程序,现在有一个问题,就是串口1在调用MODBUS的时候,串口2如果有请求的话就得等串口1处理完,反之亦反。现在有几个问题:
1、如何判断当前串口调用完了MODBUS程序?
2、两个中断的不管是同级还是优先级,怎样设置才更好一些?
3、超时应该怎么做?
回复

使用道具 举报

7#
ID:236982 发表于 2019-2-13 20:10 | 只看该作者
笨笨兔 发表于 2019-2-13 16:20
既然使用 MODBUS,采用不同的地址就OK了。

我说的是单片机作为从机的MODBUS双串口源代码,估计你说的是上位机访问方面的吧
回复

使用道具 举报

8#
ID:158375 发表于 2019-2-14 08:16 | 只看该作者
suuy79 发表于 2019-2-13 20:10
我说的是单片机作为从机的MODBUS双串口源代码,估计你说的是上位机访问方面的吧

有区别吗?
从机的MODBUS,你就当这是另一台从设备不就完了。。。。。。
回复

使用道具 举报

9#
ID:236982 发表于 2019-2-14 10:12 | 只看该作者
笨笨兔 发表于 2019-2-14 08:16
有区别吗?
从机的MODBUS,你就当这是另一台从设备不就完了。。。。。。

你的意思在单片机内部再重新搞一套一模一样的代码?
回复

使用道具 举报

10#
ID:476396 发表于 2019-2-14 10:39 | 只看该作者
中断处理程序只负责接收,建立两个数组,中断程序只负责把接收到的数据丢到数组即可,协议解析在主程序中实现,另外将中断嵌套功能使能。
回复

使用道具 举报

11#
ID:236982 发表于 2019-2-14 14:23 | 只看该作者
wush1977 发表于 2019-2-14 10:39
中断处理程序只负责接收,建立两个数组,中断程序只负责把接收到的数据丢到数组即可,协议解析在主程序中实 ...

能够提供一个示例代码吗?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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