cw937375431 2015-12-02 03:05 采纳率: 0%
浏览 769
已结题

PIC32的MPLAB程序增加modbus协议通信485接口的功能

原产品工作环境为DSP、PIC、显示屏的连接,在modbus协议上pic是主、显示屏是从,pic发送请求放在UART3A传给显示屏并等待应答,那么请求的写寄存器指令程序(使用的寄存器地址是属于自定义的显示屏地址)是放在pic的MPLAB程序中的。现在想增加UART1B连接485接口实现远程数据监控的功能,那么这里在modbus协议上来说远程机是主,pic是从。那么要怎样在pic的MPLAB程序中添加指令来实现这个功能,且要把数据写入modbus正规协议地址的寄存器中?
参数地址表:
自定义的显示屏地址寄存器写入数据
自定义的显示屏地址寄存器写入数据
现在要增加UART1B,
数据写入modbus协议地址寄存器
数据写入modbus协议地址寄存器
我的思路是:
远程控制端的请求数据帧发到UART1B的接收端,MPLAB程序通过接收中断进行数据处理,并要执行请求的内容(比如读寄存器),再吧响应数据帧从UART1B的发送端发回远程控制端。这里我就有个疑问了,我可以在程序中添加个fnDealModBus485()函数对接收到的请求数据帧进行处理,得到应答数据放入TXREG即可,那么我要怎么实现把一些数据参数按照给定的modbus地址写入相应的寄存器中好方便远程读出寄存器中的数据呢?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 如何在scanpy上做差异基因和通路富集?
    • ¥20 关于#硬件工程#的问题,请各位专家解答!
    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?
    • ¥15 c++头文件不能识别CDialog