diff --git a/CH395Q/ch395.c b/CH395Q/ch395.c index 9733f5b..6f31a17 100644 --- a/CH395Q/ch395.c +++ b/CH395Q/ch395.c @@ -734,7 +734,7 @@ void set_ipv4(void) 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 = ch395_port; /* 源端口 */ + cha95_sockct_sta[0].sour_port = 8080; /* 源端口 */ ch395q_socket_config(&cha95_sockct_sta[0]); /* 配置socket参数 */ } diff --git a/Core/Src/main.c b/Core/Src/main.c index fd03730..92f7e1b 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -126,14 +126,14 @@ int main(void) ee_io_init(); prov_init(); //ʼ - 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]; - ch395_hardware_init(); //ch395Ӳʼ - ch395_init(); //̫ʼ + // 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]; + // ch395_hardware_init(); //ch395Ӳʼ + // ch395_init(); //̫ʼ /* USER CODE END 2 */ diff --git a/MDK-ARM/VOQC.uvoptx b/MDK-ARM/VOQC.uvoptx index fccc5ac..32d6198 100644 --- a/MDK-ARM/VOQC.uvoptx +++ b/MDK-ARM/VOQC.uvoptx @@ -208,7 +208,11 @@ 10 1 +<<<<<<< HEAD + tx_start +======= g_ch395q_sta.socket[0].config +>>>>>>> 694c8a2a7149125de63428eb48d859c6a7ca06cf diff --git a/modbus/Inc/modbus.h b/modbus/Inc/modbus.h index 893e211..3c674e5 100644 --- a/modbus/Inc/modbus.h +++ b/modbus/Inc/modbus.h @@ -6,16 +6,16 @@ #include "uarts.h" #include "ch395.h" -/*--------------------------------- 궨 -----------------------------------*/ -// -#define ReadCoilState 0x01 //ȡȦ״̬ -#define ReadDisInputState 0x02 //ȡ״̬ -#define ReadHoldReg 0x03 //ȡּĴ -#define ReadInputReg 0x04 //ȡĴ -#define WriteSingleCoil 0x05 //ǿдȦ״̬ -#define WriteSingleReg 0x06 //Ԥ(д)Ĵ -#define WriteMultiCoil 0x0F //ǿдȦ״̬ -#define WriteMultiReg 0x10 //Ԥ(д)Ĵ +/*--------------------------------- 宏定义 -----------------------------------*/ +//功能码 +#define ReadCoilState 0x01 //读取线圈状态 +#define ReadDisInputState 0x02 //读取输入状态 +#define ReadHoldReg 0x03 //读取保持寄存器 +#define ReadInputReg 0x04 //读取输入寄存器 +#define WriteSingleCoil 0x05 //强制写单线圈输出状态 +#define WriteSingleReg 0x06 //预设(写)单寄存器 +#define WriteMultiCoil 0x0F //强制写多线圈输出状态 +#define WriteMultiReg 0x10 //预设(写)多寄存器 #define COIL_ADD_MIN 0x10 #define COIL_ADD_MAX 0x5F @@ -38,14 +38,14 @@ #define MAKEWORD(a,b) ((uint16_t)(((uint8_t)(a)) | ((uint16_t)((uint8_t)(b))) << 8)) -//ض -#define UART1_RXSIZE 1024 //һ֡ݵֵ -#define UART1_TXSIZE 1024 //һ֡ݵֵ +//串口相关定义 +#define UART1_RXSIZE 1024 //一帧接收数据的最大值 +#define UART1_TXSIZE 1024 //一帧发送数据的最大值 #define MAX_SIZE 1024 -#define MODBUS_UART uart1 //ڸijӦıɣõUART1˴Ϊuart1 -#define MODBUS_HUART huart1 //ڸijӦıɣõUART1˴Ϊhuart1 -#define MODBUS_HTIM htim7 //ڸijӦıɣõUART1˴Ϊhuart1 +#define MODBUS_UART uart1 //将串口改成相应的变量即可,例如用到UART1,此处改为uart1 +#define MODBUS_HUART huart1 //将串口改成相应的变量即可,例如用到UART1,此处改为huart1 +#define MODBUS_HTIM htim7 //将串口改成相应的变量即可,例如用到UART1,此处改为huart1 typedef enum { @@ -63,24 +63,24 @@ typedef enum typedef union var_reg { - uint16_t SamData [MAX_INPUT_REG_NUM]; // - uint16_t InputReg[MAX_INPUT_REG_NUM]; // Reg SamData + uint16_t SamData [MAX_INPUT_REG_NUM]; // 采样数据 + uint16_t InputReg[MAX_INPUT_REG_NUM]; // Reg 与 SamData }Var_Reg; typedef struct { - uint8_t *rx_buf; //ջ - uint16_t rx_buf_cnt; //ջֵ - uint16_t rx_size; //ݴС - uint8_t rx_flag; //ɱ־λ + uint8_t *rx_buf; //接收缓冲数组 + uint16_t rx_buf_cnt; //接收缓冲计数值 + uint16_t rx_size; //接收数据大小 + uint8_t rx_flag; //接收完成标志位 - uint8_t *tx_buf; //ͻ - uint16_t tx_buf_cnt; //ͻֵ - uint16_t tx_size; //ʵʷݴС + uint8_t *tx_buf; //发送缓冲数组 + uint16_t tx_buf_cnt; //发送缓冲计数值 + uint16_t tx_size; //实际发送数据大小 }UART_BUF; -extern UART_BUF uart1; //ڽṹʵ -extern uint8_t RxBuffer; //м +extern UART_BUF uart1; //串口结构体实体 +extern uint8_t RxBuffer; //接收数据中间变量 extern uint8_t CoilState[(MAX_COIL_NUM + 7) / 8]; extern uint8_t DisState [(MAX_DIS_NUM + 7) / 8]; @@ -89,7 +89,7 @@ extern uint16_t HoldReg[MAX_HOLD_REG_NUM]; extern Var_Reg SamVarReg; -void modbus_rtu_init(void);//RTUʼ +void modbus_rtu_init(void);//RTU初始化 void modbus_rx_cb(void); uint16_t ModbusCRC16(uint8_t *ptr, uint16_t len);