From e3dfcf2b4eafdb5bace59d796a270f8e8d532763 Mon Sep 17 00:00:00 2001 From: zhyinch <zhyinch@gmail.com> Date: 星期二, 16 十一月 2021 15:14:21 +0800 Subject: [PATCH] V1.46增加MODBUS自动回复功能 --- 源码/核心板/Src/application/modbus.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/modbus.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/modbus.c" index 442190a..a347e9b 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/modbus.c" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/modbus.c" @@ -1,5 +1,6 @@ #include "modbus.h" #include "Rcc_Nvic_Systick.h" +#include "global_param.h" /////////////////////////////////////////////////////////// //u32 RS485_Baudrate=9600;//通讯波特率 //u8 RS485_Parity=0;//0无校验;1奇校验;2偶校验 @@ -24,6 +25,7 @@ void Modbus_RegMap(void) { u16 i; + RS485_Addr=g_com_map[DEV_ID]; for(i=0;i<MODBUS_SIZE;i++) { Modbus_HoldReg[i]=i; @@ -499,9 +501,11 @@ //Modbus功能码03处理程序///////////////////////////////////////////////////////////////////////////////////////已验证程序OK //读保持寄存器 +u8 modbusread_start = 0; void Modbus_03_Solve(void) { u8 i; + modbusread_start = 1; RegNum= (((u16)RS485_RX_BUFF[4])<<8)|RS485_RX_BUFF[5];//获取寄存器数量 if((startRegAddr+RegNum)<MODBUS_SIZE)//寄存器地址+数量在范围内 { -- Gitblit v1.9.3