From a52817ac33ed40cbbfdcbfacd1a49fa40e928341 Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期四, 17 四月 2025 16:19:13 +0800
Subject: [PATCH] 兼容4g手环跟4g工卡两种硬件升级

---
 dualboots_Gai_youhua/src/customboot/pin_config.c |  104 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 99 insertions(+), 5 deletions(-)

diff --git a/dualboots_Gai_youhua/src/customboot/pin_config.c b/dualboots_Gai_youhua/src/customboot/pin_config.c
index dd6bb75..154273d 100644
--- a/dualboots_Gai_youhua/src/customboot/pin_config.c
+++ b/dualboots_Gai_youhua/src/customboot/pin_config.c
@@ -41,6 +41,74 @@
 #include "mk_io.h"
 #include "board.h"
 
+void uart1_change_shouhuan(void)
+{
+    io_pin_mux_set(IO_PIN_1, IO_FUNC0);
+    io_pin_mux_set(IO_PIN_14, IO_FUNC0);
+    
+    io_pin_mux_set(IO_PIN_10, IO_FUNC0);
+    io_pin_mux_set(IO_PIN_9, IO_FUNC0);/*先都变成普通io*/
+    
+    io_pin_mux_set(IO_PIN_10, IO_FUNC4);
+    io_pin_mux_set(IO_PIN_9, IO_FUNC4);/*改为串口*/
+}
+
+void uart1_change_gongka(void)
+{
+    io_pin_mux_set(IO_PIN_1, IO_FUNC0);
+    io_pin_mux_set(IO_PIN_14, IO_FUNC0);
+    
+    io_pin_mux_set(IO_PIN_10, IO_FUNC0);
+    io_pin_mux_set(IO_PIN_9, IO_FUNC0);/*先都变成普通io*/
+    
+    io_pin_mux_set(IO_PIN_1, IO_FUNC4);
+    io_pin_mux_set(IO_PIN_14, IO_FUNC4);/*改为串口*/
+}
+struct UART_CFG_T test_uart_cfg =
+{
+.parity = UART_PARITY_NONE,
+.stop = UART_STOP_BITS_1,
+.data = UART_DATA_BITS_8,
+.flow = UART_FLOW_CONTROL_NONE,
+.rx_level = UART_RXFIFO_CHAR_1,
+.tx_level = UART_TXFIFO_EMPTY,
+.baud = BAUD_115200,
+
+.dma_en = true,
+.int_rx = false,
+.int_tx = false,
+};
+extern uint8_t flagmode;/*0是工卡,1是手环*/
+void uart1_xuanze( uint8_t uartpin )/*0是工卡,1是手环*/
+{
+    uart_close(UART_ID1);
+    if(uartpin)
+    {    
+    io_pin_mux_set(IO_PIN_1, IO_FUNC0);
+    io_pin_mux_set(IO_PIN_14, IO_FUNC0);
+    
+    io_pin_mux_set(IO_PIN_10, IO_FUNC0);
+    io_pin_mux_set(IO_PIN_9, IO_FUNC0);/*先都变成普通io*/
+    
+    io_pin_mux_set(IO_PIN_10, IO_FUNC4);
+    io_pin_mux_set(IO_PIN_9, IO_FUNC4);/*改为串口*/
+        flagmode=uartpin;
+    }
+    else
+    {
+    io_pin_mux_set(IO_PIN_1, IO_FUNC0);
+    io_pin_mux_set(IO_PIN_14, IO_FUNC0);
+    
+    io_pin_mux_set(IO_PIN_10, IO_FUNC0);
+    io_pin_mux_set(IO_PIN_9, IO_FUNC0);/*先都变成普通io*/
+    
+    io_pin_mux_set(IO_PIN_1, IO_FUNC4);
+    io_pin_mux_set(IO_PIN_14, IO_FUNC4);/*改为串口*/
+        flagmode=uartpin;
+    }
+    uart_open(UART_ID1, &test_uart_cfg);
+}
+uint8_t test11,test2,test3,test4;
 void board_pins_config(void)
 {
     // UART0 TX/RX
@@ -48,9 +116,35 @@
     io_pin_mux_set(IO_PIN_6, IO_FUNC4);
 
 //    // UART1 RX/TX
-//    io_pin_mux_set(IO_PIN_10, IO_FUNC4);
-//    io_pin_mux_set(IO_PIN_9, IO_FUNC4);
-	  // UART1 RX/TX
-    io_pin_mux_set(IO_PIN_1, IO_FUNC4);
-    io_pin_mux_set(IO_PIN_14, IO_FUNC4);
+    io_pin_mux_set(IO_PIN_10, IO_FUNC0);
+    io_pull_set(IO_PIN_10 , IO_PULL_DOWN, IO_PULL_UP_NONE);
+    gpio_pin_set_dir(IO_PIN_10 , GPIO_DIR_IN, 0);
+    
+    io_pin_mux_set(IO_PIN_9, IO_FUNC0);
+    io_pull_set(IO_PIN_9 , IO_PULL_DOWN, IO_PULL_UP_NONE);
+    gpio_pin_set_dir(IO_PIN_9 , GPIO_DIR_IN, 0);
+    // UART1 RX/TX
+    io_pin_mux_set(IO_PIN_1, IO_FUNC0);
+    io_pull_set(IO_PIN_1 , IO_PULL_DOWN, IO_PULL_UP_NONE);
+    gpio_pin_set_dir(IO_PIN_1 , GPIO_DIR_IN, 0);
+    
+    io_pin_mux_set(IO_PIN_14, IO_FUNC0);
+    io_pull_set(IO_PIN_14 , IO_PULL_DOWN, IO_PULL_UP_NONE);
+    gpio_pin_set_dir(IO_PIN_14 , GPIO_DIR_IN, 0);
+    
+    test11=gpio_pin_get_val(IO_PIN_10);
+    test2=gpio_pin_get_val(IO_PIN_9);
+    test3=gpio_pin_get_val(IO_PIN_1);
+    test4=gpio_pin_get_val(IO_PIN_14);
+    if(gpio_pin_get_val(IO_PIN_10)&&gpio_pin_get_val(IO_PIN_9))
+    {
+    uart1_xuanze(1);
+    }
+    if(gpio_pin_get_val(IO_PIN_1)&&gpio_pin_get_val(IO_PIN_14))
+    {
+    uart1_xuanze(0);
+    }
+//    while(1);
+        
 }
+

--
Gitblit v1.9.3