From df2a6bf623e967d16d3685eb418d2a97a220b8e1 Mon Sep 17 00:00:00 2001 From: aixiao Date: Mon, 11 Mar 2024 17:51:17 +0800 Subject: [PATCH] Add official software buttons to send and return data --- main.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/main.c b/main.c index c5f3898..cd9d992 100644 --- a/main.c +++ b/main.c @@ -55,6 +55,7 @@ void read_data(void) // 发送数据 uart_write_blocking(UART0, Tx_Buffer, 8); + sleep_ms(10); // 接收数据 uint8_t _DATA[37] = { 0 }; @@ -121,6 +122,8 @@ void Print_data(void) static uint16_t IM1253B(void) { + static int i = 0; + // 初始化UART uart_init(UART0, BAUD_RATE); gpio_set_function(UART0_TX_PIN, GPIO_FUNC_UART); @@ -128,7 +131,19 @@ static uint16_t IM1253B(void) uart_set_hw_flow(UART0, false, false); uart_set_format(UART0, DATA_BITS, STOP_BITS, PARITY); sleep_ms(10); - + + /* + // 官方软件内部按钮发送的数据 + // 电能清零 TX[13]:01 10 00 4B 00 02 04 00 00 00 00 B6 2C + // RX[8]:01 10 00 4B 00 02 31 DE + + // 读取 TX[8]:00 03 00 01 00 04 14 18 + // RX[13]:01 03 08 02 35 01 08 41 30 01 05 44 BD (直流模块) + + // 设置 TX[11]:00 10 00 04 00 01 02 01 05 6B D7 + // RX[8]:01 10 00 04 00 01 40 08 + */ + // 发送 read_enable = 1; read_data(); @@ -140,7 +155,7 @@ static uint16_t IM1253B(void) Analysis_data(); // 打印原始十六进制数据 - for (int i = 0; i <= 37 - 1; i++) { + for (i=0; i <= 37 - 1; i++) { printf("0x%X ", Rx_Buffer[i]); } printf("\n"); @@ -166,7 +181,7 @@ int main(void) watchdog_enable(8300, 1); // 8秒检测是否重新加载看门狗计数器. (不更新计数器则重启硬件, 最高8秒(8秒后不喂狗硬件重启)) watchdog_start_tick(12); - + printf("IM1253B module\n"); while (1) { watchdog_update(); // 喂狗