我写了一个代码,通过ModBUS RTU与主设备进行通信,9600波特率。我下载了一个模拟程序,它是ModBUS Slave。我可以通过这种方式与PC通信。我可以用微控制器读取输入寄存器。我下载了另一个程序,它是ModBUS Poll,用于读取Krohne IFC050输入寄存器。我得到了Krohne IFC050的寄存器值。但是,我需要使用CC430F6137从Krohne IFC050流量计获取输入寄存器值。我尝试使用相同的代码来读取Krohne IFC050的输入寄存器,但我无法做到。我使用RS485接口进行通信。很多时候我换了RS485的终端。但是,没有回应。我无法通过使用微控制器从Krohne读取任何信息。
Krohne Slave ID = 1。该代码只是试图传达它不专业。在这里,我试图获取设备信息。有我的代码:
div
答案 0 :(得分:1)
我已经解决了这个问题。这很简单。如果有人遇到类似我的问题,解决方法是检查你的RS485转换器启用引脚。当我更改数据启用和读启用状态时,问题已解决。
感谢您的评论,感谢所有观众。
答案 1 :(得分:0)
由于地址是硬编码的(不会改变)。您可以预先计算CRC高和CRC低。我建议你做以下事情
连接RS485大多数应该可以工作
一切顺利