From 566ed7f3c2620e22f0e7df0c733b31a4187da502 Mon Sep 17 00:00:00 2001
From: zhangbo <zhangbo@qq.com>
Date: 星期二, 29 七月 2025 18:07:58 +0800
Subject: [PATCH] V1.69

---
 源码/核心板/Src/application/modbus.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 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 47c03f2..fd3943d 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"
@@ -26,7 +26,7 @@
 void Modbus_RegMap(void)
 {
 	u16 i;
-	RS485_Addr=g_com_map[DEV_ID]&0xff;
+	RS485_Addr=((g_com_map[DEV_ID]&0xff)>>4)*10+g_com_map[DEV_ID]&0xf;
 	for(i=0;i<MODBUS_SIZE;i++)
 	{
 		Modbus_HoldReg[i]=i;
@@ -547,6 +547,9 @@
 		{
 			g_com_map[startRegAddr-100]=RS485_RX_BUFF[4]<<8|RS485_RX_BUFF[5];
 		}
+                            save_com_map_to_flash();							
+							delay_ms(500);
+							SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader  
 	}else{
         Modbus_HoldReg[startRegAddr]=RS485_RX_BUFF[4]<<8;//高字节在前                    ////////修改为高字节在前,低字节在后
         Modbus_HoldReg[startRegAddr]|=((u16)RS485_RX_BUFF[5]);//低字节在后

--
Gitblit v1.9.3