Răsfoiți Sursa

通信板支持双串口

yidong.fan 2 luni în urmă
părinte
comite
a7489da44d

+ 26 - 4
WZYX_UART_V1.1250726.X/WZYX_UART_V1.1250726.X/Uart.c

@@ -220,9 +220,30 @@ void UART1SEND(char data) {
   }
 }
 void UART1SendDma(unsigned char *txData, unsigned int len) {
-    for (unsigned int i = 0; i < len; i++) {
-      g_ucTX_DMA[i] = txData[i];
-    }
+	
+	for (unsigned int n = 0; n <len; n++) {
+	  g_ucTX_DMA[n] = g_ucU1RX_Data[n];
+	}
+  if (g_CmdFrom_UartNum == 0) {
+    while (DMACH5bits.CHEN);  
+    DMASRC5 = (uint16_t)g_ucTX_DMA;
+    DMACNT5 = len;
+    DMACH5bits.CHEN = 1; // Enable DMA Channel
+    DMACH5bits.CHREQ = 1; // Start DMA Operation
+  } else {    
+  	while (DMACH4bits.CHEN);  
+    DMASRC4 = (uint16_t)g_ucTX_DMA;
+    DMACNT4 = len;
+    DMACH4bits.CHEN = 1; // Enable DMA Channel
+    DMACH4bits.CHREQ = 1; // Start DMA Operation
+  }
+}
+
+void UART1SendCopyDma() {
+  unsigned int len =  g_ucU1RX_Data[3];
+  for (unsigned int n = 0; n <len; n++) {
+	g_ucTX_DMA[n] = g_ucU1RX_Data[n];
+  }
   if (g_CmdFrom_UartNum == 1) {
     while (DMACH5bits.CHEN);  
     DMASRC5 = (uint16_t)g_ucTX_DMA;
@@ -238,6 +259,7 @@ void UART1SendDma(unsigned char *txData, unsigned int len) {
   }
 }
 
+
 void Uart1_Receive(char num) {
 
   U1TXREG = num;
@@ -641,7 +663,7 @@ int DecodeNew(void* pMessage, uint8_t *pdata, const uint8_t *pInBuffer, uint32_t
 
 		uint8_t checkesum = 0;
 		uint8_t recsum = 0;
-		if((header + i +  messagelen) < maxlen){
+		if((header + i +  messagelen-1) < maxlen){
 			checkesum = checkSum(pInBuffer + header + i , messagelen - 1);
 			
 		}else{

+ 1 - 1
WZYX_UART_V1.1250726.X/WZYX_UART_V1.1250726.X/nbproject/Makefile-genesis.properties

@@ -1,5 +1,5 @@
 #
-#Wed Feb 04 17:28:10 CST 2026
+#Fri Mar 06 16:14:07 CST 2026
 default.languagetoolchain.version=2.10
 default.Pack.dfplocation=D\:\\Program Files\\Microchip\\MPLABX\\v6.15\\packs\\Microchip\\PIC24F-GL-GU_DFP\\1.5.121
 conf.ids=default

+ 1 - 1
WZYX_UART_V1.1250726.X/WZYX_UART_V1.1250726.X/nbproject/private/configurations.xml

@@ -4,7 +4,7 @@
   <defaultConf>0</defaultConf>
   <confs>
     <conf name="default" type="2">
-      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>900A:=&lt;rev>0002:=&lt;man>Microchip Technology Inc.:=&lt;prod>PICkit 3:=&lt;sn>DEFAULT_PK3 :=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>
+      <platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>04D8:=&lt;pid>900A:=&lt;rev>0002:=&lt;man>Microchip Technology Inc.:=&lt;prod>PICkit 3:=&lt;sn>BUR202239188:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>
       <languageToolchainDir>D:\Program Files\Microchip\xc16\v2.10\bin</languageToolchainDir>
       <mdbdebugger version="1">
         <placeholder1>place holder 1</placeholder1>

+ 5 - 1
WZYX_UART_V1.1250726.X/WZYX_UART_V1.1250726.X/nbproject/private/private.xml

@@ -5,6 +5,10 @@
         <group name="source">
             <file>file:/F:/library/source/WZYX_UART_V1.1250726.X/WZYX_UART_V1.1250726.X/Pin.c</file>
         </group>
-        <group/>
+        <group>
+            <file>file:/D:/Program%20Files/Microchip/MPLABX/v6.15/packs/Microchip/PIC24F-GL-GU_DFP/1.5.121/xc16/support/PIC24F/h/p24FJ512GU410.h</file>
+            <file>file:/F:/library/source/WZYX_UART_V1.1250726.X/WZYX_UART_V1.1250726.X/main.c</file>
+            <file>file:/F:/library/source/WZYX_UART_V1.1250726.X/WZYX_UART_V1.1250726.X/Uart.c</file>
+        </group>
     </open-files>
 </project-private>