cw937375431 2015-11-10 12:03 采纳率: 0%
浏览 2750

PIC单片机与电脑通过modbus485通信来传输数据

有一个modbus.c文件定义了modbus协议的基本内容,且UART1B的收发端连485转换之后连接电脑,现在需要通过电脑发送一条指令读取寄存器上的数据。
举个例子:我往modbus协议地址0x0001写入数据SetRegister(0x0001,UA);
之后电脑往UART1B接收端发一条读寄存器指令:01 03 00 01 00 01 D5 CA (保护设备地址,功能码,寄存器首地址,寄存器读取个数,CRC),UART1B接收到一个字节中断一次
void __ISR(_UART_1B_VECTOR, IPL6SOFT) IntUart1BHandler(void) //
{
if (INTGetFlag(INT_SOURCE_UART_RX(UART1B)))
{
INTClearFlag(INT_SOURCE_UART_RX(UART1B));
if (UARTReceivedDataIsAvailable(UART1B))
{
RecBuff[rec1b_cnt ++] = UARTGetDataByte(UART1B);
之后我就不会写了,写入数据SetRegister(0x0001,UA)这条指令我不知道应该放在哪,之后如何经过modbus协议读出寄存器值通过modbus协议的数据包形式发回给计算机

  • 写回答

1条回答

  • cw937375431 2015-11-11 05:27
    关注

    各位大神快来啊,求解答,这个任务好急

    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况