新增支持modbus-tcp通讯

This commit is contained in:
承诺 2025-02-24 13:23:07 +08:00
parent 4ba649a6e0
commit 0b666aa27a
70 changed files with 18535 additions and 6529 deletions

View File

@ -32,9 +32,10 @@ void ch395_gpio_init( void )
gpio_init_struct.Pin = CH395_RST_GPIO_PIN;
gpio_init_struct.Mode = GPIO_MODE_OUTPUT_PP; /* 输出 */
gpio_init_struct.Pull = GPIO_PULLUP; /* 上拉 */
gpio_init_struct.Speed = GPIO_SPEED_FREQ_HIGH; /* 高速 */
gpio_init_struct.Pull = GPIO_PULLUP; /* 上拉 */
HAL_GPIO_Init( CH395_RST_GPIO_PORT, &gpio_init_struct );
HAL_GPIO_WritePin(CH395_RST_GPIO_PORT, CH395_RST_GPIO_PIN, GPIO_PIN_SET);
HAL_GPIO_WritePin(CH395Q_TX_CTRL_GPIO_Port, CH395Q_TX_CTRL_Pin, GPIO_PIN_SET);
HAL_Delay(20);
@ -144,55 +145,55 @@ uint8_t ch395q_socket_config(ch395_socket * ch395_sokect)
return 0;
}
if (g_ch395q_sta.dhcp_status == DHCP_UP) /* DHCP获取成功状态 */
{
ch395_sokect->net_info.ip[0] = g_ch395q_sta.ipinf_buf[0];
ch395_sokect->net_info.ip[1] = g_ch395q_sta.ipinf_buf[1];
ch395_sokect->net_info.ip[2] = g_ch395q_sta.ipinf_buf[2];
ch395_sokect->net_info.ip[3] = g_ch395q_sta.ipinf_buf[3];
ch395_sokect->net_info.gwip[0] = g_ch395q_sta.ipinf_buf[4];
ch395_sokect->net_info.gwip[1] = g_ch395q_sta.ipinf_buf[5];
ch395_sokect->net_info.gwip[2] = g_ch395q_sta.ipinf_buf[6];
ch395_sokect->net_info.gwip[3] = g_ch395q_sta.ipinf_buf[7];
ch395_sokect->net_info.mask[0] = g_ch395q_sta.ipinf_buf[8];
ch395_sokect->net_info.mask[1] = g_ch395q_sta.ipinf_buf[9];
ch395_sokect->net_info.mask[2] = g_ch395q_sta.ipinf_buf[10];
ch395_sokect->net_info.mask[3] = g_ch395q_sta.ipinf_buf[11];
ch395_sokect->net_info.dns1[0] = g_ch395q_sta.ipinf_buf[12];
ch395_sokect->net_info.dns1[1] = g_ch395q_sta.ipinf_buf[13];
ch395_sokect->net_info.dns1[2] = g_ch395q_sta.ipinf_buf[14];
ch395_sokect->net_info.dns1[3] = g_ch395q_sta.ipinf_buf[15];
ch395_sokect->net_info.dns2[0] = g_ch395q_sta.ipinf_buf[16];
ch395_sokect->net_info.dns2[1] = g_ch395q_sta.ipinf_buf[17];
ch395_sokect->net_info.dns2[2] = g_ch395q_sta.ipinf_buf[18];
ch395_sokect->net_info.dns2[3] = g_ch395q_sta.ipinf_buf[19];
}
else /* DHCP获取失败状态设置静态IP地址信息 */
{
ch395_cmd_set_ipaddr(ch395_sokect->net_config.ipaddr); /* 设置CH395的IP地址 */
ch395_cmd_set_gw_ipaddr(ch395_sokect->net_config.gwipaddr); /* 设置网关地址 */
ch395_cmd_set_maskaddr(ch395_sokect->net_config.maskaddr); /* 设置子网掩码默认为255.255.255.0*/
printf("静态IP信息.....................................\r\n");
printf("IP:%02d.%02d.%02d.%02d\r\n", (uint16_t)ch395_sokect->net_config.ipaddr[0], (uint16_t)ch395_sokect->net_config.ipaddr[1], (uint16_t)ch395_sokect->net_config.ipaddr[2], (uint16_t)ch395_sokect->net_config.ipaddr[3]);
printf("GWIP:%02d.%02d.%02d.%02d\r\n", (uint16_t)ch395_sokect->net_config.gwipaddr[0], (uint16_t)ch395_sokect->net_config.gwipaddr[1], (uint16_t)ch395_sokect->net_config.gwipaddr[2], (uint16_t)ch395_sokect->net_config.gwipaddr[3]);
printf("Mask:%02d.%02d.%02d.%02d\r\n", (uint16_t)ch395_sokect->net_config.maskaddr[0], (uint16_t)ch395_sokect->net_config.maskaddr[1], (uint16_t)ch395_sokect->net_config.maskaddr[2], (uint16_t)ch395_sokect->net_config.maskaddr[3]);
ch395_cmd_init();
HAL_Delay(10);
}
// if (g_ch395q_sta.dhcp_status == DHCP_UP) /* DHCP获取成功状态 */
// {
// ch395_sokect->net_info.ip[0] = g_ch395q_sta.ipinf_buf[0];
// ch395_sokect->net_info.ip[1] = g_ch395q_sta.ipinf_buf[1];
// ch395_sokect->net_info.ip[2] = g_ch395q_sta.ipinf_buf[2];
// ch395_sokect->net_info.ip[3] = g_ch395q_sta.ipinf_buf[3];
//
// ch395_sokect->net_info.gwip[0] = g_ch395q_sta.ipinf_buf[4];
// ch395_sokect->net_info.gwip[1] = g_ch395q_sta.ipinf_buf[5];
// ch395_sokect->net_info.gwip[2] = g_ch395q_sta.ipinf_buf[6];
// ch395_sokect->net_info.gwip[3] = g_ch395q_sta.ipinf_buf[7];
//
// ch395_sokect->net_info.mask[0] = g_ch395q_sta.ipinf_buf[8];
// ch395_sokect->net_info.mask[1] = g_ch395q_sta.ipinf_buf[9];
// ch395_sokect->net_info.mask[2] = g_ch395q_sta.ipinf_buf[10];
// ch395_sokect->net_info.mask[3] = g_ch395q_sta.ipinf_buf[11];
//
// ch395_sokect->net_info.dns1[0] = g_ch395q_sta.ipinf_buf[12];
// ch395_sokect->net_info.dns1[1] = g_ch395q_sta.ipinf_buf[13];
// ch395_sokect->net_info.dns1[2] = g_ch395q_sta.ipinf_buf[14];
// ch395_sokect->net_info.dns1[3] = g_ch395q_sta.ipinf_buf[15];
//
// ch395_sokect->net_info.dns2[0] = g_ch395q_sta.ipinf_buf[16];
// ch395_sokect->net_info.dns2[1] = g_ch395q_sta.ipinf_buf[17];
// ch395_sokect->net_info.dns2[2] = g_ch395q_sta.ipinf_buf[18];
// ch395_sokect->net_info.dns2[3] = g_ch395q_sta.ipinf_buf[19];
// }
// else /* DHCP获取失败状态设置静态IP地址信息 */
// {
// ch395_cmd_set_ipaddr(ch395_sokect->net_config.ipaddr); /* 设置CH395的IP地址 */
// ch395_cmd_set_gw_ipaddr(ch395_sokect->net_config.gwipaddr); /* 设置网关地址 */
// ch395_cmd_set_maskaddr(ch395_sokect->net_config.maskaddr); /* 设置子网掩码默认为255.255.255.0*/
// printf("静态IP信息.....................................\r\n");
// printf("IP:%02d.%02d.%02d.%02d\r\n", (uint16_t)ch395_sokect->net_config.ipaddr[0], (uint16_t)ch395_sokect->net_config.ipaddr[1], (uint16_t)ch395_sokect->net_config.ipaddr[2], (uint16_t)ch395_sokect->net_config.ipaddr[3]);
// printf("GWIP:%02d.%02d.%02d.%02d\r\n", (uint16_t)ch395_sokect->net_config.gwipaddr[0], (uint16_t)ch395_sokect->net_config.gwipaddr[1], (uint16_t)ch395_sokect->net_config.gwipaddr[2], (uint16_t)ch395_sokect->net_config.gwipaddr[3]);
// printf("Mask:%02d.%02d.%02d.%02d\r\n", (uint16_t)ch395_sokect->net_config.maskaddr[0], (uint16_t)ch395_sokect->net_config.maskaddr[1], (uint16_t)ch395_sokect->net_config.maskaddr[2], (uint16_t)ch395_sokect->net_config.maskaddr[3]);
// ch395_cmd_init();
// HAL_Delay(10);
// }
ch395_cmd_set_ipaddr(ch395_sokect->net_config.ipaddr); /* 设置CH395的IP地址 */
ch395_cmd_set_gw_ipaddr(ch395_sokect->net_config.gwipaddr); /* 设置网关地址 */
ch395_cmd_set_maskaddr(ch395_sokect->net_config.maskaddr); /* 设置子网掩码默认为255.255.255.0*/
printf("静态IP信息.....................................\r\n");
printf("IP:%02d.%02d.%02d.%02d\r\n", (uint16_t)ch395_sokect->net_config.ipaddr[0], (uint16_t)ch395_sokect->net_config.ipaddr[1], (uint16_t)ch395_sokect->net_config.ipaddr[2], (uint16_t)ch395_sokect->net_config.ipaddr[3]);
printf("GWIP:%02d.%02d.%02d.%02d\r\n", (uint16_t)ch395_sokect->net_config.gwipaddr[0], (uint16_t)ch395_sokect->net_config.gwipaddr[1], (uint16_t)ch395_sokect->net_config.gwipaddr[2], (uint16_t)ch395_sokect->net_config.gwipaddr[3]);
printf("Mask:%02d.%02d.%02d.%02d\r\n", (uint16_t)ch395_sokect->net_config.maskaddr[0], (uint16_t)ch395_sokect->net_config.maskaddr[1], (uint16_t)ch395_sokect->net_config.maskaddr[2], (uint16_t)ch395_sokect->net_config.maskaddr[3]);
ch395_cmd_init();
// ch395_cmd_set_ipaddr(ch395_sokect->net_config.ipaddr); /* 设置CH395的IP地址 */
// ch395_cmd_set_gw_ipaddr(ch395_sokect->net_config.gwipaddr); /* 设置网关地址 */
// ch395_cmd_set_maskaddr(ch395_sokect->net_config.maskaddr); /* 设置子网掩码默认为255.255.255.0*/
// printf("静态IP信息.....................................\r\n");
// printf("IP:%02d.%02d.%02d.%02d\r\n", (uint16_t)ch395_sokect->net_config.ipaddr[0], (uint16_t)ch395_sokect->net_config.ipaddr[1], (uint16_t)ch395_sokect->net_config.ipaddr[2], (uint16_t)ch395_sokect->net_config.ipaddr[3]);
// printf("GWIP:%02d.%02d.%02d.%02d\r\n", (uint16_t)ch395_sokect->net_config.gwipaddr[0], (uint16_t)ch395_sokect->net_config.gwipaddr[1], (uint16_t)ch395_sokect->net_config.gwipaddr[2], (uint16_t)ch395_sokect->net_config.gwipaddr[3]);
// printf("Mask:%02d.%02d.%02d.%02d\r\n", (uint16_t)ch395_sokect->net_config.maskaddr[0], (uint16_t)ch395_sokect->net_config.maskaddr[1], (uint16_t)ch395_sokect->net_config.maskaddr[2], (uint16_t)ch395_sokect->net_config.maskaddr[3]);
// ch395_cmd_init();
// HAL_Delay(10);
//ch395_cmd_set_macaddr(ch395_sokect->net_config.macaddr); /* 设置MAC地址 */
@ -223,6 +224,7 @@ uint8_t ch395q_socket_config(ch395_socket * ch395_sokect)
//ch395_set_socket_desip(ch395_sokect->socket_index, ch395_sokect->des_ip); /* 设置socket 0目标IP地址 */
ch395_set_socket_prot_type(ch395_sokect->socket_index, PROTO_TYPE_TCP); /* 设置socket 0协议类型 */
ch395_set_socket_sourport(ch395_sokect->socket_index, ch395_sokect->sour_port); /* 设置socket 0源端口 */
HAL_Delay(3000);
g_ch395q_sta.ch395_error(ch395_open_socket(ch395_sokect->socket_index)); /* 检查sokect是否打开成功 */
g_ch395q_sta.ch395_error(ch395_tcp_listen(ch395_sokect->socket_index)); /* 监听tcp连接 */
break;
@ -366,8 +368,8 @@ void ch395_hardware_init(void)
g_ch395q_sta.version = ch395_cmd_get_ver(); /* 获取版本 */
printf("CH395VER : %2x\r\n", (uint16_t)g_ch395q_sta.version);
i = ch395_dhcp_enable(1); /* 开启DHCP */
g_ch395q_sta.ch395_error(i); /* ch395q检测错误 */
// i = ch395_dhcp_enable(1); /* 开启DHCP */
// g_ch395q_sta.ch395_error(i); /* ch395q检测错误 */
HAL_Delay(1000); /* ch395q初始化延时 */
}
@ -583,17 +585,17 @@ void ch395_reconnection(void)
ch395_socket_r_s_buf_modify();
// ch395_set_tcpmss(536);
// ch395_set_start_para(FUN_PARA_FLAG_TCP_SERVER | SOCK_CTRL_FLAG_SOCKET_CLOSE);
g_ch395q_sta.ch395_error(ch395_dhcp_enable(1)); /* 开启DHCP */
// g_ch395q_sta.ch395_error(ch395_dhcp_enable(1)); /* 开启DHCP */
}
do
{
if (ch395_int_pin_wire == 0)
{
ch395_interrupt_handler(); /* 中断处理函数 */
}
}
while (g_ch395q_sta.dhcp_status == DHCP_STA); /* 获取DHCP */
// do
// {
// if (ch395_int_pin_wire == 0)
// {
// ch395_interrupt_handler(); /* 中断处理函数 */
// }
// }
// while (g_ch395q_sta.dhcp_status == DHCP_STA); /* 获取DHCP */
switch(g_ch395q_sta.socket[socket_index].config.proto)
{
@ -617,9 +619,10 @@ void ch395_reconnection(void)
break;
case CH395Q_SOCKET_TCP_SERVER:
/* socket 为TCPServer模式 */
ch395_set_socket_desip(socket_index, g_ch395q_sta.socket[socket_index].config.des_ip); /* 设置socket 0目标IP地址 */
//ch395_set_socket_desip(socket_index, g_ch395q_sta.socket[socket_index].config.des_ip); /* 设置socket 0目标IP地址 */
ch395_set_socket_prot_type(socket_index, PROTO_TYPE_TCP); /* 设置socket 0协议类型 */
ch395_set_socket_sourport(socket_index, g_ch395q_sta.socket[socket_index].config.sour_port); /* 设置socket 0源端口 */
HAL_Delay(3000);
g_ch395q_sta.ch395_error(ch395_open_socket(socket_index)); /* 检查sokect是否打开成功 */
g_ch395q_sta.ch395_error(ch395_tcp_listen(socket_index)); /* 监听tcp连接 */
break;
@ -643,6 +646,7 @@ void ch395_reconnection(void)
uint8_t ch395_ipaddr[4] = {192,168,114,194};
uint8_t ch395_gw_ipaddr[4] = {192,168,114,110};
uint8_t ch395_ipmask[4] = {255,255,255,0};
uint16_t ch395_port = 8080;
//uint8_t ch395_macaddr[6] = {0x5C,0x53,0x10,0x6C,0x18,0x49};
/* 远程IP地址设置 */
//uint8_t ch395_des_ipaddr[4] = {192,168,1,111};
@ -657,19 +661,27 @@ ch395_socket cha95_sockct_sta[8];
*/
void ch395_init(void)
{
do
{
ch395q_handler();
}
while (g_ch395q_sta.dhcp_status == DHCP_STA); /* 获取DHCP */
// do
// {
// ch395q_handler();
// }
// while (g_ch395q_sta.dhcp_status == DHCP_STA); /* 获取DHCP */
for(int n = 0;n < 4;n++)
{
ch395_ipaddr[n] = HoldReg[40 + n];
ch395_gw_ipaddr[n] = HoldReg[44 + n];
ch395_ipmask[n] = HoldReg[48 + n];
}
ch395_port = HoldReg[52];
cha95_sockct_sta[0].socket_enable = CH395Q_ENABLE; /* 使能socket对 */
cha95_sockct_sta[0].socket_index = CH395Q_SOCKET_0; /* 设置socket对 */
//memcpy(cha95_sockct_sta[0].des_ip, ch395_des_ipaddr, sizeof(cha95_sockct_sta[0].des_ip)); /* 设置目标IP地址 */
//memcpy(cha95_sockct_sta[0].des_ip, ch395_des_ipaddr, sizeof(cha95_sockct_sta[0].des_ip)); /* 设置目标IP地址 */
memcpy(cha95_sockct_sta[0].net_config.ipaddr, ch395_ipaddr, sizeof(cha95_sockct_sta[0].net_config.ipaddr)); /* 设置静态本地IP地址 */
memcpy(cha95_sockct_sta[0].net_config.gwipaddr, ch395_gw_ipaddr, sizeof(cha95_sockct_sta[0].net_config.gwipaddr)); /* 设置静态网关IP地址 */
memcpy(cha95_sockct_sta[0].net_config.maskaddr, ch395_ipmask, sizeof(cha95_sockct_sta[0].net_config.maskaddr)); /* 设置静态子网掩码地址 */
//memcpy(cha95_sockct_sta[0].net_config.macaddr, ch395_macaddr, sizeof(cha95_sockct_sta[0].net_config.macaddr)); /* 设置静态MAC地址 */
//memcpy(cha95_sockct_sta[0].net_config.macaddr, ch395_macaddr, sizeof(cha95_sockct_sta[0].net_config.macaddr)); /* 设置静态MAC地址 */
cha95_sockct_sta[0].sour_port = 8080; /* 源端口 */
cha95_sockct_sta[0].proto = CH395Q_SOCKET_TCP_SERVER; /* 设置协议 */
cha95_sockct_sta[0].send.buf = socket0_send_buf; /* 发送数据 */
@ -680,19 +692,49 @@ void ch395_init(void)
}
void set_ipv4(uint8_t * upRxdbuf, uint16_t wRxdLen)
void set_ipv4(void)
{
for(int i = 0;i < 4;i++)
for(int n = 0;n < 4;n++)
{
ch395_ipaddr[i] = upRxdbuf[i + 4];
ch395_ipmask[i] = upRxdbuf[i + 8];
ch395_gw_ipaddr[i] = upRxdbuf[i + 4];
ch395_ipaddr[n] = HoldReg[40 + n];
ch395_gw_ipaddr[n] = HoldReg[44 + n];
ch395_ipmask[n] = HoldReg[48 + n];
}
ch395_gw_ipaddr[3] = upRxdbuf[7] + 10;
ch395_port = HoldReg[52];
ch395_close_socket(cha95_sockct_sta[0].socket_index);
g_ch395q_sta.ch395_error(ch395_dhcp_enable(0)); /* ch395q检测错误 */
cha95_sockct_sta[0].socket_enable = CH395Q_DISABLE;
g_ch395q_sta.dhcp_status = DHCP_STA;
ch395_init();
HAL_Delay(500);
ch395_cmd_reset(); /* 对ch395q复位 */
HAL_Delay(500); /* 这里必须等待100以上延时 */
g_ch395q_sta.ch395_error(ch395_cmd_init()); /* 初始化ch395q命令 */
ch395_socket_r_s_buf_modify();
do
{
g_ch395q_sta.phy_status = ch395_cmd_get_phy_status(); /* 获取PHY状态 */
g_ch395q_sta.ch395_phy_cb(g_ch395q_sta.phy_status); /* 判断双工和网速模式 */
re_cnt++;
if(re_cnt > 50)
g_ch395q_sta.phy_status = PHY_ERROR;
}
while(g_ch395q_sta.phy_status == PHY_DISCONN);
HAL_Delay(1000);
cha95_sockct_sta[0].socket_enable = CH395Q_ENABLE; /* 使能socket对 */
cha95_sockct_sta[0].socket_index = CH395Q_SOCKET_0; /* 设置socket对 */
memcpy(cha95_sockct_sta[0].net_config.ipaddr, ch395_ipaddr, sizeof(cha95_sockct_sta[0].net_config.ipaddr)); /* 设置静态本地IP地址 */
memcpy(cha95_sockct_sta[0].net_config.gwipaddr, ch395_gw_ipaddr, sizeof(cha95_sockct_sta[0].net_config.gwipaddr)); /* 设置静态网关IP地址 */
memcpy(cha95_sockct_sta[0].net_config.maskaddr, ch395_ipmask, sizeof(cha95_sockct_sta[0].net_config.maskaddr)); /* 设置静态子网掩码地址 */
cha95_sockct_sta[0].sour_port = 8080; /* 源端口 */
ch395q_socket_config(&cha95_sockct_sta[0]); /* 配置socket参数 */
}

View File

@ -134,6 +134,6 @@ void ch395_hardware_init(void);
uint8_t ch395q_socket_config(ch395_socket * ch395_sokect);
void ch395_reconnection(void);
void ch395_init(void);
void set_ipv4(uint8_t * upRxdbuf, uint16_t wRxdLen);
void set_ipv4(void);
#endif

View File

@ -35,6 +35,7 @@
#include "dac7311.h"
#include "wf5803.h"
#include "ds18b20.h"
#include "eeprom.h"
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
@ -51,6 +52,9 @@ int last_encode_num = 0;
int curr_encode_num = 0;
uint32_t encode_num = 0;
int cnt_update = 152;
/* 本地网络信息IP地址、网关地址、子网掩码和端口号 */
uint8_t ch395_addr[14] = {192,168,114,194,192,168,114,110,255,255,255,0,31,144};
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
@ -137,6 +141,15 @@ int main(void)
modbus_rtu_init();
//laser_init(usart3_laser_send);
delay_ms(200);
ee_readbytes(ch395_addr,0,14);
for(int n = 0;n < 12;n++)
{
HoldReg[40 + n] = ch395_addr[n];
}
HoldReg[52] = ch395_addr[12] << 8 | ch395_addr[13];
//ee_writebytes(ch395_addr,0,14);
ch395_hardware_init(); //ch395硬件初始化
ch395_init(); //以太网初始化
/* USER CODE END 2 */
@ -151,9 +164,7 @@ int main(void)
ch395q_handler(); //网络通讯
//4-20mA电流输出控制
if( !(ao_dwq == (float)(HoldReg[0]) / 1000) ||
!(ao_blf1 == (float)(HoldReg[1]) / 1000) ||
!(ao_blf2 == (float)(HoldReg[2]) / 1000))
if( !(ao_dwq == (float)(HoldReg[0]) / 1000) || !(ao_blf1 == (float)(HoldReg[1]) / 1000) || !(ao_blf2 == (float)(HoldReg[2]) / 1000))
{
ao_dwq = (float)(HoldReg[0]) / 1000;
ao_blf1 = (float)(HoldReg[1]) / 1000;
@ -172,7 +183,7 @@ int main(void)
it_50ms_flag = 0;
}
//wf5803_loop(); //ÆøÑ¹ÊäÈë
//wf5803_loop(); //气压输入
ads1220_get_data(); //比例阀输出反馈和比例阀控制电流输出反馈
ads1256_get_data(); //模拟量输入
adcs_data(); //定位器控制电流输出反馈
@ -188,7 +199,19 @@ int main(void)
encode_num = curr_encode_num + cnt_update * 0xFFFF;//编码器,返回计数脉冲值
InputReg[20] = (encode_num >> 16) & 0xffff;
InputReg[21] = encode_num & 0xffff;
if(HoldReg[53])
{
for(int n = 0;n < 12;n++)
{
ch395_addr[n] = HoldReg[40 + n];
}
ch395_addr[12] = HoldReg[52] >> 8;
ch395_addr[13] = HoldReg[52] & 0xFF;
ee_writebytes(ch395_addr,0,14);
HoldReg[53] = 0;
set_ipv4();
}
}
/* USER CODE END 3 */
}

File diff suppressed because it is too large Load Diff

View File

@ -83,17 +83,17 @@
<yPos>-1</yPos>
</MaxPosition>
<NormalPosition>
<Top>25</Top>
<Left>283</Left>
<Right>1366</Right>
<Bottom>777</Bottom>
<Top>-5</Top>
<Left>-5</Left>
<Right>1123</Right>
<Bottom>925</Bottom>
</NormalPosition>
</WindowPosition>
<MDIClientArea>
<RegID>0</RegID>
<MDITabState>
<Len>1882</Len>
<Data>01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000012000000030000000100000043443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C75736572735C5372635C75617274732E63000000000775617274732E6300000000C5D4F200FFFFFFFF62443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C447269766572735C53544D3332463478785F48414C5F4472697665725C5372635C73746D3332663478785F68616C2E63000000000F73746D3332663478785F68616C2E6300000000FFDC7800FFFFFFFF49443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C6D6F646275735C5372635C6D6F646275735F7463702E63000000000C6D6F646275735F7463702E6300000000BECEA100FFFFFFFF41443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000F0A0A100FFFFFFFF40443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C4348333935515C63683339352E68000000000763683339352E6800000000BCA8E100FFFFFFFF43443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C4348333935515C6368333935636D642E63000000000A6368333935636D642E63000000009CC1B600FFFFFFFF40443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C4348333935515C63683339352E63000000000763683339352E6300000000F7B88600FFFFFFFF40443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C436F72655C5372635C74696D2E63000000000574696D2E6300000000D9ADC200FFFFFFFF49443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C6D6F646275735C5372635C6D6F646275735F7274752E63000000000C6D6F646275735F7274752E6300000000A5C2D700FFFFFFFF45443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C6D6F646275735C496E635C6D6F646275732E6800000000086D6F646275732E6800000000B3A6BE00FFFFFFFF45443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C6D6F646275735C5372635C6D6F646275732E6300000000086D6F646275732E6300000000EAD6A300FFFFFFFF43443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C75736572735C5372635C74696D65722E63000000000774696D65722E6300000000F6FA7D00FFFFFFFF41443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C436F72655C5372635C6770696F2E6300000000066770696F2E6300000000B5E99D00FFFFFFFF43443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C75736572735C5372635C6770696F732E6300000000076770696F732E63000000005FC3CF00FFFFFFFF44443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C626F6172645C5372635C7766353830332E6300000000087766353830332E6300000000C1838300FFFFFFFF43443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C75736572735C496E635C74696D65722E68000000000774696D65722E6800000000CACAD500FFFFFFFF44443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C626F6172645C496E635C7766353830332E6800000000087766353830332E6800000000C5D4F200FFFFFFFF41443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C436F72655C496E635C6D61696E2E6800000000066D61696E2E6800000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000FF00000066000000A005000005030000</Data>
<Len>1977</Len>
<Data>01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000013000000090000000100000041443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF40443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C4348333935515C63683339352E63000000000763683339352E6300000000FFDC7800FFFFFFFF49443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C6D6F646275735C5372635C6D6F646275735F7274752E63000000000C6D6F646275735F7274752E6300000000BECEA100FFFFFFFF44443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C626F6172645C5372635C7766353830332E6300000000087766353830332E6300000000F0A0A100FFFFFFFF43443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C4348333935515C6368333935696E632E68000000000A6368333935696E632E6800000000BCA8E100FFFFFFFF43443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C75736572735C5372635C75617274732E63000000000775617274732E63000000009CC1B600FFFFFFFF62443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C447269766572735C53544D3332463478785F48414C5F4472697665725C5372635C73746D3332663478785F68616C2E63000000000F73746D3332663478785F68616C2E6300000000F7B88600FFFFFFFF49443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C6D6F646275735C5372635C6D6F646275735F7463702E63000000000C6D6F646275735F7463702E6300000000D9ADC200FFFFFFFF40443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C4348333935515C63683339352E68000000000763683339352E6800000000A5C2D700FFFFFFFF43443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C4348333935515C6368333935636D642E63000000000A6368333935636D642E6300000000B3A6BE00FFFFFFFF40443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C436F72655C5372635C74696D2E63000000000574696D2E6300000000EAD6A300FFFFFFFF45443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C6D6F646275735C496E635C6D6F646275732E6800000000086D6F646275732E6800000000F6FA7D00FFFFFFFF45443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C6D6F646275735C5372635C6D6F646275732E6300000000086D6F646275732E6300000000D9ADC200FFFFFFFF43443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C75736572735C5372635C74696D65722E63000000000774696D65722E6300000000F7B88600FFFFFFFF41443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C436F72655C5372635C6770696F2E6300000000066770696F2E63000000009CC1B600FFFFFFFF43443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C75736572735C5372635C6770696F732E6300000000076770696F732E6300000000BCA8E100FFFFFFFF43443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C75736572735C496E635C74696D65722E68000000000774696D65722E6800000000F0A0A100FFFFFFFF44443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C626F6172645C496E635C7766353830332E6800000000087766353830332E6800000000BECEA100FFFFFFFF41443A5CD7C0C3E65CB9A4D7F7D7CAC1CF5C30362DCAFDD7D6BBAFD5B9CABEB7A7C3C5B6AFBEB2CCACCFEEC4BF5C564F51435C436F72655C496E635C6D61696E2E6800000000066D61696E2E6800000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000FF00000066000000A005000005030000</Data>
</MDITabState>
</MDIClientArea>
<ViewEx>
@ -1287,8 +1287,8 @@
<RegID>59392</RegID>
<Name>File</Name>
<Buttons>
<Len>2366</Len>
<Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000A486F6C645265675B325D960000000000000014000A486F6C645265675B325D0B486F6C645265675B31335D134D4F444255535F5443502E726563762E6275660F75736172745F666C6167203D3D203604627566660A75736172745F666C61670852784275666665720F48414C5F5350495F4D7370496E6974124348333935515F54585F4354524C5F50696E0948414C5F44656C6179146368333935715F736F636B65745F636F6E66696708BFAAC6F44448435004444843500F637572725F656E636F64655F6E756D1323696E636C75646520226D66353830332E68221323696E636C75646520226D73353830332E68220850524F4D446174610C69745F31306D735F666C61670F6E657469665F646863705F646174610F4D585F4C5749505F50726F636573730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000</Data>
<Len>2302</Len>
<Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000007486F6C645265679600000000000000140007486F6C6452656704444843500A636F6E74726F6C5F696407726566726573680973637265656E5F69640A486F6C645265675B305D0844697353746174651072656672657368203D2066616C73653B0B63686178756E5F666C6167087365745F697076340B63683339355F6572726F720E776966695F7365745F73746174650D4C4F43414C5F414444524553530B486F6C645265675B33385D0B486F6C645265675B33375D08496E7075745265670B75365F5278427566666572036969690A486F6C645265675B325D0B486F6C645265675B31335D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000</Data>
</Buttons>
<OriginalItems>
<Len>1423</Len>
@ -1320,7 +1320,7 @@
<Name>Debug</Name>
<Buttons>
<Len>2220</Len>
<Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000000000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
<Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000000000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
</Buttons>
<OriginalItems>
<Len>898</Len>
@ -2528,8 +2528,8 @@
<RegID>59392</RegID>
<Name>File</Name>
<Buttons>
<Len>2343</Len>
<Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000146368333935715F736F636B65745F636F6E66696796000000000000001400146368333935715F736F636B65745F636F6E66696708BFAAC6F44448435004444843500F637572725F656E636F64655F6E756D1323696E636C75646520226D66353830332E68221323696E636C75646520226D73353830332E68220850524F4D446174610C69745F31306D735F666C61670F6E657469665F646863705F646174610F4D585F4C5749505F50726F636573730A486F6C645265675B315D0A686172745F7278636E7409706F775F677261646508526174655F64697307676F5F73746172097A65726F5F666C61670A636D645F627566666572115057524354524C5F4750494F5F506F727403313030033530300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020001001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000</Data>
<Len>2302</Len>
<Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000007486F6C645265679600000000000000140007486F6C6452656704444843500A636F6E74726F6C5F696407726566726573680973637265656E5F69640A486F6C645265675B305D0844697353746174651072656672657368203D2066616C73653B0B63686178756E5F666C6167087365745F697076340B63683339355F6572726F720E776966695F7365745F73746174650D4C4F43414C5F414444524553530B486F6C645265675B33385D0B486F6C645265675B33375D08496E7075745265670B75365F5278427566666572036969690A486F6C645265675B325D0B486F6C645265675B31335D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020001001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000</Data>
</Buttons>
<OriginalItems>
<Len>1423</Len>
@ -2561,7 +2561,7 @@
<Name>Debug</Name>
<Buttons>
<Len>2220</Len>
<Data>00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000004002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000004002800000000000000000000000000000000010000000100000001801B80000000000400290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000004002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000002000100320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000020000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
<Data>00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000002000100320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000020000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
</Buttons>
<OriginalItems>
<Len>898</Len>
@ -2585,11 +2585,56 @@
<ActiveMDIGroup>0</ActiveMDIGroup>
<MDIGroup>
<Size>100</Size>
<ActiveTab>3</ActiveTab>
<ActiveTab>9</ActiveTab>
<Doc>
<Name>../Core/Src/main.c</Name>
<ColumnNumber>5</ColumnNumber>
<TopLine>183</TopLine>
<CurrentLine>178</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\CH395Q\ch395.c</Name>
<ColumnNumber>1</ColumnNumber>
<TopLine>329</TopLine>
<CurrentLine>322</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\modbus\Src\modbus_rtu.c</Name>
<ColumnNumber>8</ColumnNumber>
<TopLine>596</TopLine>
<CurrentLine>638</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\board\Src\wf5803.c</Name>
<ColumnNumber>43</ColumnNumber>
<TopLine>318</TopLine>
<CurrentLine>360</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>../CH395Q/ch395inc.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>188</TopLine>
<CurrentLine>198</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\users\Src\uarts.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>14</TopLine>
<TopLine>13</TopLine>
<CurrentLine>56</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
@ -2598,7 +2643,7 @@
<Doc>
<Name>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>320</TopLine>
<TopLine>324</TopLine>
<CurrentLine>325</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
@ -2606,45 +2651,27 @@
</Doc>
<Doc>
<Name>..\modbus\Src\modbus_tcp.c</Name>
<ColumnNumber>20</ColumnNumber>
<TopLine>5</TopLine>
<CurrentLine>6</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>../Core/Src/main.c</Name>
<ColumnNumber>21</ColumnNumber>
<TopLine>97</TopLine>
<CurrentLine>142</CurrentLine>
<ColumnNumber>25</ColumnNumber>
<TopLine>555</TopLine>
<CurrentLine>533</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>../CH395Q/ch395.h</Name>
<ColumnNumber>52</ColumnNumber>
<TopLine>94</TopLine>
<CurrentLine>137</CurrentLine>
<ColumnNumber>58</ColumnNumber>
<TopLine>91</TopLine>
<CurrentLine>134</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\CH395Q\ch395cmd.c</Name>
<ColumnNumber>41</ColumnNumber>
<TopLine>107</TopLine>
<CurrentLine>124</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\CH395Q\ch395.c</Name>
<ColumnNumber>16</ColumnNumber>
<TopLine>173</TopLine>
<CurrentLine>183</CurrentLine>
<ColumnNumber>0</ColumnNumber>
<TopLine>586</TopLine>
<CurrentLine>570</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
@ -2658,29 +2685,20 @@
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\modbus\Src\modbus_rtu.c</Name>
<ColumnNumber>15</ColumnNumber>
<TopLine>602</TopLine>
<CurrentLine>641</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>../modbus/Inc/modbus.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>1</CurrentLine>
<TopLine>30</TopLine>
<CurrentLine>44</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\modbus\Src\modbus.c</Name>
<ColumnNumber>14</ColumnNumber>
<TopLine>17</TopLine>
<CurrentLine>18</CurrentLine>
<ColumnNumber>4</ColumnNumber>
<TopLine>5</TopLine>
<CurrentLine>14</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
@ -2705,18 +2723,9 @@
</Doc>
<Doc>
<Name>..\users\Src\gpios.c</Name>
<ColumnNumber>10</ColumnNumber>
<ColumnNumber>22</ColumnNumber>
<TopLine>23</TopLine>
<CurrentLine>64</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\board\Src\wf5803.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>303</TopLine>
<CurrentLine>304</CurrentLine>
<CurrentLine>65</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>

View File

@ -279,6 +279,16 @@
<WinNumber>1</WinNumber>
<ItemText>press_reading</ItemText>
</Ww>
<Ww>
<count>13</count>
<WinNumber>1</WinNumber>
<ItemText>g_ch395q_sta</ItemText>
</Ww>
<Ww>
<count>14</count>
<WinNumber>1</WinNumber>
<ItemText>ch395_addr</ItemText>
</Ww>
</WatchWindow1>
<WatchWindow2>
<Ww>

Binary file not shown.

View File

@ -26,7 +26,15 @@ Project File Date: 12/11/2024
<h2>Output:</h2>
Build target 'VOQC'
"VOQC\VOQC.axf" - 0 Error(s), 0 Warning(s).
compiling main.c...
compiling ch395.c...
..\CH395Q\ch395.c(478): warning: #111-D: statement is unreachable
i = ch395_get_dhcp_status();
..\CH395Q\ch395.c: 1 warning, 0 errors
linking...
Program Size: Code=41368 RO-data=568 RW-data=544 ZI-data=8328
FromELF: creating hex file...
"VOQC\VOQC.axf" - 0 Error(s), 1 Warning(s).
<h2>Software Packages used:</h2>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
Dependencies for Project 'VOQC', Target 'VOQC': (DO NOT MODIFY !)
F (startup_stm32f407xx.s)(0x66960AAC)(--cpu Cortex-M4.fp -g --apcs=interwork -I D:\桌面\工作资料\06-数字化展示阀门动静态项目\VOQC\MDK-ARM\RTE -I D:\Keil_v5\ARM\PACK\ARM\CMSIS\4.2.0\CMSIS\Include -I D:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.12.0 --pd "__UVISION_VERSION SETA 514" --pd "_RTE_ SETA 1" --pd "STM32F407xx SETA 1" --list startup_stm32f407xx.lst --xref -o voqc\startup_stm32f407xx.o --depend voqc\startup_stm32f407xx.d)
F (../Core/Src/main.c)(0x6760F5D1)(--c99 -c --cpu Cortex-M4.fp -g -O0 -Otime --apcs=interwork --split_sections -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -I../board/Inc -I../CH395Q -I../modbus/Inc -I../users/Inc -I D:\桌面\工作资料\06-数字化展示阀门动静态项目\VOQC\MDK-ARM\RTE -I D:\Keil_v5\ARM\PACK\ARM\CMSIS\4.2.0\CMSIS\Include -I D:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.12.0 -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx -o voqc\main.o --omf_browse voqc\main.crf --depend voqc\main.d)
F (../Core/Src/main.c)(0x67B43924)(--c99 -c --cpu Cortex-M4.fp -g -O0 -Otime --apcs=interwork --split_sections -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -I../board/Inc -I../CH395Q -I../modbus/Inc -I../users/Inc -I D:\桌面\工作资料\06-数字化展示阀门动静态项目\VOQC\MDK-ARM\RTE -I D:\Keil_v5\ARM\PACK\ARM\CMSIS\4.2.0\CMSIS\Include -I D:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.12.0 -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx -o voqc\main.o --omf_browse voqc\main.crf --depend voqc\main.d)
I (../Core/Inc/main.h)(0x66E15109)
I (../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h)(0x65A9DF68)
I (../Core/Inc/stm32f4xx_hal_conf.h)(0x6695DF54)
@ -46,7 +46,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -65,6 +65,7 @@ I (../board/Inc/dac7311.h)(0x66949B65)
I (../board/Inc/wf5803.h)(0x675909BE)
I (D:\Keil_v5\ARM\ARMCC\include\math.h)(0x5475F2FE)
I (../board/Inc/ds18b20.h)(0x6694D35E)
I (../board/Inc/eeprom.h)(0x66849F26)
F (../Core/Src/gpio.c)(0x66960A9F)(--c99 -c --cpu Cortex-M4.fp -g -O0 -Otime --apcs=interwork --split_sections -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -I../board/Inc -I../CH395Q -I../modbus/Inc -I../users/Inc -I D:\桌面\工作资料\06-数字化展示阀门动静态项目\VOQC\MDK-ARM\RTE -I D:\Keil_v5\ARM\PACK\ARM\CMSIS\4.2.0\CMSIS\Include -I D:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.12.0 -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx -o voqc\gpio.o --omf_browse voqc\gpio.crf --depend voqc\gpio.d)
I (../Core/Inc/gpio.h)(0x668F85FA)
I (../Core/Inc/main.h)(0x66E15109)
@ -112,7 +113,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -164,7 +165,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -216,7 +217,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -268,7 +269,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -320,7 +321,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../CH395Q/ch395cmd.h)(0x664FF969)
I (D:\Keil_v5\ARM\ARMCC\include\string.h)(0x5475F300)
@ -370,7 +371,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -421,7 +422,7 @@ I (../users/Inc/uarts.h)(0x66E24AB7)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -472,7 +473,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -524,7 +525,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -1391,7 +1392,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -1443,7 +1444,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -1495,7 +1496,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -1547,7 +1548,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -1652,7 +1653,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -1704,7 +1705,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -1756,7 +1757,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -1860,7 +1861,7 @@ I (../Core/Inc/tim.h)(0x6694D67D)
I (../modbus/Inc/modbus.h)(0x6736E89D)
I (../users/Inc/uarts.h)(0x66E24AB7)
I (../Core/Inc/usart.h)(0x668F85FD)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -1916,7 +1917,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -1966,12 +1967,12 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
I (D:\Keil_v5\ARM\ARMCC\include\string.h)(0x5475F300)
F (..\modbus\Src\modbus_rtu.c)(0x676133C1)(--c99 -c --cpu Cortex-M4.fp -g -O0 -Otime --apcs=interwork --split_sections -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -I../board/Inc -I../CH395Q -I../modbus/Inc -I../users/Inc -I D:\桌面\工作资料\06-数字化展示阀门动静态项目\VOQC\MDK-ARM\RTE -I D:\Keil_v5\ARM\PACK\ARM\CMSIS\4.2.0\CMSIS\Include -I D:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.12.0 -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx -o voqc\modbus_rtu.o --omf_browse voqc\modbus_rtu.crf --depend voqc\modbus_rtu.d)
F (..\modbus\Src\modbus_rtu.c)(0x67B4269B)(--c99 -c --cpu Cortex-M4.fp -g -O0 -Otime --apcs=interwork --split_sections -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -I../board/Inc -I../CH395Q -I../modbus/Inc -I../users/Inc -I D:\桌面\工作资料\06-数字化展示阀门动静态项目\VOQC\MDK-ARM\RTE -I D:\Keil_v5\ARM\PACK\ARM\CMSIS\4.2.0\CMSIS\Include -I D:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.12.0 -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx -o voqc\modbus_rtu.o --omf_browse voqc\modbus_rtu.crf --depend voqc\modbus_rtu.d)
I (../modbus/Inc/modbus.h)(0x6736E89D)
I (../users/Inc/timer.h)(0x6695E3F1)
I (../Core/Inc/tim.h)(0x6694D67D)
@ -2017,7 +2018,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -2068,13 +2069,13 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
I (D:\Keil_v5\ARM\ARMCC\include\string.h)(0x5475F300)
F (..\CH395Q\ch395.c)(0x67613C9B)(--c99 -c --cpu Cortex-M4.fp -g -O0 -Otime --apcs=interwork --split_sections -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -I../board/Inc -I../CH395Q -I../modbus/Inc -I../users/Inc -I D:\桌面\工作资料\06-数字化展示阀门动静态项目\VOQC\MDK-ARM\RTE -I D:\Keil_v5\ARM\PACK\ARM\CMSIS\4.2.0\CMSIS\Include -I D:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.12.0 -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx -o voqc\ch395.o --omf_browse voqc\ch395.crf --depend voqc\ch395.d)
I (..\CH395Q\ch395.h)(0x67612943)
F (..\CH395Q\ch395.c)(0x67B81274)(--c99 -c --cpu Cortex-M4.fp -g -O0 -Otime --apcs=interwork --split_sections -I../Core/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Drivers/CMSIS/Include -I../board/Inc -I../CH395Q -I../modbus/Inc -I../users/Inc -I D:\桌面\工作资料\06-数字化展示阀门动静态项目\VOQC\MDK-ARM\RTE -I D:\Keil_v5\ARM\PACK\ARM\CMSIS\4.2.0\CMSIS\Include -I D:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.12.0 -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx -o voqc\ch395.o --omf_browse voqc\ch395.crf --depend voqc\ch395.d)
I (..\CH395Q\ch395.h)(0x67B425FD)
I (..\CH395Q\ch395inc.h)(0x6683A7A7)
I (../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h)(0x65A9DF68)
I (../Core/Inc/stm32f4xx_hal_conf.h)(0x6695DF54)
@ -2121,7 +2122,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../Core/Inc/spi.h)(0x668F85FC)
I (..\CH395Q\ch395cmd.h)(0x664FF969)
I (D:\Keil_v5\ARM\ARMCC\include\string.h)(0x5475F300)
@ -2172,7 +2173,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../CH395Q/ch395cmd.h)(0x664FF969)
I (D:\Keil_v5\ARM\ARMCC\include\string.h)(0x5475F300)
@ -2225,7 +2226,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -2276,7 +2277,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -2329,7 +2330,7 @@ I (../Core/Inc/usart.h)(0x668F85FD)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (../board/Inc/laser.h)(0x66B30E3E)
I (D:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
@ -2380,7 +2381,7 @@ I (../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h)(0x66E25143)
I (../users/Inc/timer.h)(0x6695E3F1)
I (../Core/Inc/tim.h)(0x6694D67D)
I (../modbus/Inc/modbus.h)(0x6736E89D)
I (../CH395Q/ch395.h)(0x67612943)
I (../CH395Q/ch395.h)(0x67B425FD)
I (../CH395Q/ch395inc.h)(0x6683A7A7)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -68,3 +68,4 @@ voqc\main.o: ../board/Inc/dac7311.h
voqc\main.o: ../board/Inc/wf5803.h
voqc\main.o: D:\Keil_v5\ARM\ARMCC\Bin\..\include\math.h
voqc\main.o: ../board/Inc/ds18b20.h
voqc\main.o: ../board/Inc/eeprom.h

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -635,11 +635,11 @@ void modbus_process_rtu(void)
if(wFrameLen < 2) return; // 数据长度不是有效值
if(memcmp(pFrame,set_start,4) == 0)
{
set_ipv4(pFrame,wFrameLen);
return;
}
// if(memcmp(pFrame,set_start,4) == 0)
// {
// set_ipv4(pFrame,wFrameLen);
// return;
// }
// 获取接收数据帧中的校验和
wFrameCRC = MAKEWORD(pFrame[wFrameLen - 2], pFrame[wFrameLen - 1]);