0
diff --git a/MDK-ARM/semi-finished_product_testing/semi-finished_product_testing.build_log.htm b/MDK-ARM/semi-finished_product_testing/semi-finished_product_testing.build_log.htm
deleted file mode 100644
index 0128d1c..0000000
--- a/MDK-ARM/semi-finished_product_testing/semi-finished_product_testing.build_log.htm
+++ /dev/null
@@ -1,194 +0,0 @@
-
-
-
-Vision Build Log
-Tool Versions:
-IDE-Version: Vision V5.36.0.0
-Copyright (C) 2021 ARM Ltd and ARM Germany GmbH. All rights reserved.
-License Information: aaa Administrator, aaa, LIC=6XJT4-F8J98-8YUVV-P833R-DBAKX-Y8EU6
-
-Tool Versions:
-Toolchain: MDK-ARM Professional Version: 5.36.0.0
-Toolchain Path: C:\Keil_v5\ARM\ARMCC\Bin
-C Compiler: Armcc.exe V5.06 update 7 (build 960)
-Assembler: Armasm.exe V5.06 update 7 (build 960)
-Linker/Locator: ArmLink.exe V5.06 update 7 (build 960)
-Library Manager: ArmAr.exe V5.06 update 7 (build 960)
-Hex Converter: FromElf.exe V5.06 update 7 (build 960)
-CPU DLL: SARMCM3.DLL V5.36.0.0
-Dialog DLL: DCM.DLL V1.17.3.0
-Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.9.0
-Dialog DLL: TCM.DLL V1.53.0.0
-
-Project:
-D:\WORK\positioner_testing\Semi-finished product testing\MDK-ARM\semi-finished_product_testing.uvprojx
-Project File Date: 02/21/2025
-
-Output:
-*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
-Build target 'semi-finished_product_testing'
-assembling startup_stm32f407xx.s...
-compiling lan8742.c...
-compiling main.c...
-compiling tim.c...
-compiling usart.c...
-compiling stm32f4xx_hal_msp.c...
-compiling freertos.c...
-compiling lwip.c...
-compiling stm32f4xx_hal_timebase_tim.c...
-compiling stm32f4xx_hal_rcc.c...
-compiling spi.c...
-compiling dma.c...
-compiling gpio.c...
-compiling stm32f4xx_it.c...
-compiling stm32f4xx_hal_rcc_ex.c...
-compiling ethernetif.c...
-compiling stm32f4xx_hal_flash.c...
-compiling stm32f4xx_hal_flash_ramfunc.c...
-compiling stm32f4xx_hal_flash_ex.c...
-compiling stm32f4xx_hal_gpio.c...
-compiling stm32f4xx_hal_dma.c...
-compiling stm32f4xx_hal_pwr.c...
-compiling stm32f4xx_hal_dma_ex.c...
-compiling stm32f4xx_hal_cortex.c...
-compiling stm32f4xx_hal_pwr_ex.c...
-compiling stm32f4xx_hal_exti.c...
-compiling stm32f4xx_hal.c...
-compiling stm32f4xx_hal_spi.c...
-compiling croutine.c...
-compiling stm32f4xx_hal_tim_ex.c...
-compiling event_groups.c...
-compiling list.c...
-compiling stm32f4xx_hal_eth.c...
-compiling stm32f4xx_hal_uart.c...
-compiling queue.c...
-compiling stream_buffer.c...
-compiling stm32f4xx_hal_tim.c...
-compiling timers.c...
-compiling heap_4.c...
-compiling tasks.c...
-compiling system_stm32f4xx.c...
-compiling port.c...
-compiling ccp.c...
-compiling cmsis_os.c...
-compiling auth.c...
-compiling chap_ms.c...
-compiling chap-md5.c...
-compiling eui64.c...
-compiling eap.c...
-compiling ipcp.c...
-compiling demand.c...
-compiling ipv6cp.c...
-compiling chap-new.c...
-compiling fsm.c...
-compiling lcp.c...
-compiling magic.c...
-compiling mppe.c...
-compiling multilink.c...
-compiling pppapi.c...
-compiling ppp.c...
-compiling pppcrypt.c...
-compiling pppos.c...
-compiling pppol2tp.c...
-compiling pppoe.c...
-compiling upap.c...
-compiling utils.c...
-compiling vj.c...
-compiling bridgeif_fdb.c...
-compiling ethernet.c...
-compiling bridgeif.c...
-compiling lowpan6.c...
-compiling slipif.c...
-compiling lowpan6_ble.c...
-compiling lowpan6_common.c...
-compiling zepif.c...
-compiling ecp.c...
-compiling err.c...
-compiling netdb.c...
-compiling api_lib.c...
-compiling if_api.c...
-compiling netifapi.c...
-compiling netbuf.c...
-compiling api_msg.c...
-compiling altcp.c...
-compiling tcpip.c...
-compiling sockets.c...
-compiling altcp_alloc.c...
-compiling altcp_tcp.c...
-compiling def.c...
-compiling dns.c...
-compiling inet_chksum.c...
-compiling init.c...
-compiling raw.c...
-compiling ip.c...
-compiling stats.c...
-compiling memp.c...
-compiling mem.c...
-compiling sys.c...
-compiling netif.c...
-compiling pbuf.c...
-compiling tcp.c...
-compiling udp.c...
-compiling tcp_in.c...
-compiling timeouts.c...
-compiling tcp_out.c...
-compiling autoip.c...
-compiling dhcp.c...
-compiling igmp.c...
-compiling icmp.c...
-compiling etharp.c...
-compiling ip4_addr.c...
-compiling ip4.c...
-compiling ip4_frag.c...
-compiling dhcp6.c...
-compiling ethip6.c...
-compiling icmp6.c...
-compiling ble_mx_02.c...
-compiling inet6.c...
-compiling user_lib.c...
-compiling ip6.c...
-compiling ip6_addr.c...
-compiling ip6_frag.c...
-compiling mld6.c...
-compiling nd6.c...
-compiling leds.c...
-compiling sys_arch.c...
-compiling communication_protocol.c...
-compiling mqtt.c...
-compiling tcpserverc.c...
-compiling tcpclient.c...
-compiling ad7124.c...
-compiling user_gpio.c...
-compiling dac161s997.c...
-compiling user_spi.c...
-compiling ht1200m.c...
-linking...
-Program Size: Code=89400 RO-data=1472 RW-data=1540 ZI-data=62964
-"semi-finished_product_testing\semi-finished_product_testing.axf" - 0 Error(s), 0 Warning(s).
-
-Software Packages used:
-
-Package Vendor: ARM
- http://www.keil.com/pack/ARM.CMSIS.5.8.0.pack
- ARM.CMSIS.5.8.0
- CMSIS (Common Microcontroller Software Interface Standard)
- * Component: CORE Version: 5.5.0
-
-Package Vendor: Keil
- https://www.keil.com/pack/Keil.STM32F4xx_DFP.2.17.1.pack
- Keil.STM32F4xx_DFP.2.17.1
- STMicroelectronics STM32F4 Series Device Support, Drivers and Examples
-
-Collection of Component include folders:
- .\RTE\_semi-finished_product_testing
- C:\Users\Administrator\AppData\Local\Arm\Packs\ARM\CMSIS\5.8.0\CMSIS\Core\Include
- C:\Users\Administrator\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\2.17.1\Drivers\CMSIS\Device\ST\STM32F4xx\Include
-
-Collection of Component Files used:
-
- * Component: ARM::CMSIS:CORE:5.5.0
- Include file: CMSIS\Core\Include\tz_context.h
-Build Time Elapsed: 00:00:08
-
-
-
diff --git a/User/application/inc/communication_protocol.h b/User/application/inc/communication_protocol.h
index 958ff8c..ccc1206 100644
--- a/User/application/inc/communication_protocol.h
+++ b/User/application/inc/communication_protocol.h
@@ -3,10 +3,16 @@
#include "user_lib.h"
-#define COM_ERROR_CODE_SIZE 7 // 通信错误返回帧长度
-#define COM_AI_DATA_SIZE 11 // 模拟量数据返回帧长度
-#define FRAME_HEAD 0xAA // 帧头
-#define FRAME_TAIL 0x3C // 帧尾
+#define COM_ERROR_CODE_SIZE 7 // 通信错误返回帧长度
+#define COM_AI_DATA_SIZE 11 // 模拟量数据返回帧长度
+#define FRAME_HEAD 0xAA // 帧头
+#define FRAME_TAIL 0x3C // 帧尾
+#define DEVICE_NUM 0x00 // 设备号
+#define READ_ANALOG_CMD 0x00 // 读模拟量命令
+#define WRITE_ANALOG_CMD 0x01 // 写模拟量命令
+#define READ_DIGITAL_CMD 0x02 // 读数字量命令
+#define WRITE_DIGITAL_CMD 0x03 // 写数字量命令
+#define SEND_STATE_CMD 0x04 // 主动上发状态命令
typedef enum
{
diff --git a/User/application/inc/tcpserverc.h b/User/application/inc/tcpserverc.h
index cbf9e4b..9255e78 100644
--- a/User/application/inc/tcpserverc.h
+++ b/User/application/inc/tcpserverc.h
@@ -14,4 +14,5 @@ extern void user_send_data_hart1(uint8_t *data, uint16_t len);
extern void user_send_data_hart2(uint8_t *data, uint16_t len);
extern void user_send_data_ble1(uint8_t *data, uint16_t len);
extern void user_send_data_ble2(uint8_t *data, uint16_t len);
+extern void user_send_data_control(uint8_t *data, uint16_t len);
#endif
diff --git a/User/application/src/communication_protocol.c b/User/application/src/communication_protocol.c
index 838067f..7d8076d 100644
--- a/User/application/src/communication_protocol.c
+++ b/User/application/src/communication_protocol.c
@@ -47,3 +47,5 @@ void communication_set_ao(communication_ao_t *ao_data)
{
current_buff[ao_data->channel] = B2S_FLOAT32(ao_data->data.f);
}
+
+
diff --git a/User/application/src/tcpserverc.c b/User/application/src/tcpserverc.c
index 8cbe37e..22b5583 100644
--- a/User/application/src/tcpserverc.c
+++ b/User/application/src/tcpserverc.c
@@ -137,6 +137,7 @@ static err_t tcpecho_recv_control(void *arg, struct tcp_pcb *tpcb, struct pbuf *
{
HAL_GPIO_TogglePin(LED3_G_GPIO_Port, LED3_G_Pin);
/* 更新窗口*/
+ tcp_echo_flags_control = 1;
tcp_recved(tpcb, p->tot_len); // 读取数据的控制块 得到所有数据的长度
server_pcb_control = tpcb; // 直接赋值
memcpy(tcp_rx_data, (int *)p->payload, p->tot_len);
@@ -159,7 +160,7 @@ static err_t tcpecho_recv_control(void *arg, struct tcp_pcb *tpcb, struct pbuf *
else
{
memcpy(communication_data.data, tcp_rx_data + 5, tcp_rx_data[4]);
- if (tcp_rx_data[3] == 0x00) // 读模拟量指令
+ if (tcp_rx_data[3] == READ_ANALOG_CMD) // 读模拟量指令
{
/*读操作,从寄存器读取数据,组包返回*/
tx_data_len = COM_AI_DATA_SIZE;
@@ -167,15 +168,15 @@ static err_t tcpecho_recv_control(void *arg, struct tcp_pcb *tpcb, struct pbuf *
communication_get_ai(user_communication_ai, tcp_tx_data, tcp_rx_data);
tcp_write(tpcb, tcp_tx_data, tx_data_len, 1);
}
- else if (tcp_rx_data[3] == 0x01) // 写模拟量指令
+ else if (tcp_rx_data[3] == WRITE_ANALOG_CMD) // 写模拟量指令
{
/*写操作,将数据写入寄存器,组包返回*/
- tcp_echo_flags_control = 1;
+
user_communication_ao = &communication_data.ao_data;
communication_set_ao(user_communication_ao);
tcp_write(tpcb, tcp_rx_data, rx_data_len, 1);
}
- else if (tcp_rx_data[3] == 0x02) // 读数字量指令
+ else if (tcp_rx_data[3] == READ_DIGITAL_CMD) // 读数字量指令
{
/*读操作,从寄存器读取数据,组包返回*/
@@ -184,7 +185,7 @@ static err_t tcpecho_recv_control(void *arg, struct tcp_pcb *tpcb, struct pbuf *
user_read_gpio(user_communication_di, tcp_tx_data, tcp_rx_data);
tcp_write(tpcb, tcp_tx_data, tx_data_len, 1);
}
- else if (tcp_rx_data[3] == 0x03) // 写数字量指令
+ else if (tcp_rx_data[3] == WRITE_DIGITAL_CMD) // 写数字量指令
{
/*写操作,将数据写入寄存器,组包返回*/
user_communication_do = &communication_data.do_data;
@@ -336,3 +337,9 @@ void user_send_data_ble2(uint8_t *data, uint16_t len)
tcp_write(server_pcb_ble2, data, len, 1);
}
+
+void user_send_data_control(uint8_t *data, uint16_t len)
+{
+
+ tcp_write(server_pcb_control, data, len, 1);
+}