硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5411|回复: 10
收起左侧

[有问必答] MODBUS移植

[复制链接]

7

主题

21

回帖

42

积分

新手上路

积分
42
发表于 2021-2-23 10:16:26 | 显示全部楼层 |阅读模式
硬汉哥,我在移植MODBUS程序,现在使用两路485连接从机,但是有些地方不是很明白,帮忙说一下。

就这个,我两个从机,是不是这个发送包和CRC校验都要一一对应,写两个函数啊,那之后怎么区分呀

就这个,我两个从机,是不是这个发送包和CRC校验都要一一对应,写两个函数啊,那之后怎么区分呀
回复

使用道具 举报

7

主题

21

回帖

42

积分

新手上路

积分
42
 楼主| 发表于 2021-2-23 10:18:52 | 显示全部楼层
我现在使用的是三路485,一路与主机通讯,这个没问题,两路与从机通讯,那host.c里面的发送包和CRC校验我是不是一个从机对应一个?那之后解析函数怎么办,也要一个从机一个嘛?
回复

使用道具 举报

7

主题

21

回帖

42

积分

新手上路

积分
42
 楼主| 发表于 2021-2-23 10:23:17 | 显示全部楼层
别沉啊,帮忙顶一下
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2021-2-23 10:58:51 | 显示全部楼层
_吕吕 发表于 2021-2-23 10:18
我现在使用的是三路485,一路与主机通讯,这个没问题,两路与从机通讯,那host.c里面的发送包和CRC校验我是 ...

封装下API,加个串口参数,这样就可以多个串口公用了。

又或者简单换个API命,再添加个文件。
回复

使用道具 举报

7

主题

21

回帖

42

积分

新手上路

积分
42
 楼主| 发表于 2021-2-23 11:19:21 | 显示全部楼层
eric2013 发表于 2021-2-23 10:58
封装下API,加个串口参数,这样就可以多个串口公用了。

又或者简单换个API命,再添加个文件。

您说的加个文件是我在加个host.c文件,然后把里面所有的函数名字都改掉对应另外一个串口是吗?
回复

使用道具 举报

7

主题

21

回帖

42

积分

新手上路

积分
42
 楼主| 发表于 2021-2-23 11:22:19 | 显示全部楼层
eric2013 发表于 2021-2-23 10:58
封装下API,加个串口参数,这样就可以多个串口公用了。

又或者简单换个API命,再添加个文件。

那如果我要加一个参数的话,封装API,里面的解析函数解析怎么办?
回复

使用道具 举报

7

主题

21

回帖

42

积分

新手上路

积分
42
 楼主| 发表于 2021-2-23 11:47:19 | 显示全部楼层
eric2013 发表于 2021-2-23 10:58
封装下API,加个串口参数,这样就可以多个串口公用了。

又或者简单换个API命,再添加个文件。

是在MODS_Poll解析数据包开始添加串口端口号码?是的话怎么判断是哪个串口传过来的呢?不是的话应该在那个地方传递串口端口号和判断条件是什么?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2021-2-23 16:25:18 | 显示全部楼层
_吕吕 发表于 2021-2-23 11:22
那如果我要加一个参数的话,封装API,里面的解析函数解析怎么办?

这个需要你先简单熟悉下代码,就比较好修改了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2021-2-23 16:27:27 | 显示全部楼层
_吕吕 发表于 2021-2-23 11:47
是在MODS_Poll解析数据包开始添加串口端口号码?是的话怎么判断是哪个串口传过来的呢?不是的话应该在那 ...

这样的话,那你就再开个文件吧,重新再定义一组,还方便些。
回复

使用道具 举报

4

主题

8

回帖

20

积分

新手上路

积分
20
发表于 2022-5-3 12:23:32 | 显示全部楼层
这个问题也困扰了很久   所有串口共用一个中断接收程序   怎么知道是哪个串口在接收数据
回复

使用道具 举报

48

主题

46

回帖

190

积分

初级会员

积分
190
发表于 2022-5-4 17:54:02 | 显示全部楼层
yidaoke 发表于 2022-5-3 12:23
这个问题也困扰了很久   所有串口共用一个中断接收程序   怎么知道是哪个串口在接收数据

https://www.armbbs.cn/forum.php? ... d=110936&extra=
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-9 20:21 , Processed in 0.201506 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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