V2.4
This commit is contained in:
+25
-13
@@ -1,8 +1,8 @@
|
||||
/********************************** (C) COPYRIGHT *******************************
|
||||
* File Name : debug.c
|
||||
* Author : WCH
|
||||
* Version : V1.0.0
|
||||
* Date : 2021/06/06
|
||||
* Version : V1.0.1
|
||||
* Date : 2026/07/10
|
||||
* Description : This file contains all the functions prototypes for UART
|
||||
* Printf , Delay functions.
|
||||
*********************************************************************************
|
||||
@@ -173,16 +173,14 @@ __attribute__((used))
|
||||
int _write(int fd, char *buf, int size)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
#if (SDI_PRINT == SDI_PR_OPEN)
|
||||
int writeSize = size;
|
||||
|
||||
do
|
||||
{
|
||||
|
||||
/**
|
||||
* data0 data1 8 byte
|
||||
* data0 The storage length of the lowest byte, with a maximum of 7 bytes.
|
||||
* data0 + data1 = 8 bytes
|
||||
* data0 The lowest byte storage length, the maximum is 7
|
||||
*
|
||||
*/
|
||||
|
||||
while( (*(DEBUG_DATA0_ADDRESS) != 0u))
|
||||
@@ -192,23 +190,37 @@ int _write(int fd, char *buf, int size)
|
||||
|
||||
if(writeSize>7)
|
||||
{
|
||||
*(DEBUG_DATA1_ADDRESS) = (*(buf+i+3)) | (*(buf+i+4)<<8) | (*(buf+i+5)<<16) | (*(buf+i+6)<<24);
|
||||
*(DEBUG_DATA0_ADDRESS) = (7u) | (*(buf+i)<<8) | (*(buf+i+1)<<16) | (*(buf+i+2)<<24);
|
||||
*(DEBUG_DATA1_ADDRESS) = \
|
||||
((uint8_t)(buf[i+3])) | \
|
||||
((uint8_t)(buf[i+4]) << 8) | \
|
||||
((uint8_t)(buf[i+5]) << 16) | \
|
||||
((uint8_t)(buf[i+6]) << 24);
|
||||
*(DEBUG_DATA0_ADDRESS) = \
|
||||
(7u) | \
|
||||
((uint8_t)(buf[i]) << 8) | \
|
||||
((uint8_t)(buf[i+1]) << 16) | \
|
||||
((uint8_t)(buf[i+2]) << 24);
|
||||
|
||||
i += 7;
|
||||
writeSize -= 7;
|
||||
}
|
||||
else
|
||||
{
|
||||
*(DEBUG_DATA1_ADDRESS) = (*(buf+i+3)) | (*(buf+i+4)<<8) | (*(buf+i+5)<<16) | (*(buf+i+6)<<24);
|
||||
*(DEBUG_DATA0_ADDRESS) = (writeSize) | (*(buf+i)<<8) | (*(buf+i+1)<<16) | (*(buf+i+2)<<24);
|
||||
|
||||
uint8_t tmp = (uint8_t)writeSize;
|
||||
*(DEBUG_DATA1_ADDRESS) = \
|
||||
((tmp > 3 ? (uint8_t)buf[i+3] : 0)) | \
|
||||
((tmp > 4 ? (uint8_t)buf[i+4] : 0) << 8) | \
|
||||
((tmp > 5 ? (uint8_t)buf[i+5] : 0) << 16) |\
|
||||
((tmp > 6 ? (uint8_t)buf[i+6] : 0) << 24);
|
||||
*(DEBUG_DATA0_ADDRESS) =
|
||||
(tmp) | ((uint8_t)buf[i] << 8) | \
|
||||
((tmp > 1 ? (uint8_t)buf[i+1] : 0) << 16) |\
|
||||
((tmp > 2 ? (uint8_t)buf[i+2] : 0) << 24);
|
||||
writeSize = 0;
|
||||
}
|
||||
|
||||
} while (writeSize);
|
||||
|
||||
|
||||
#else
|
||||
for(i = 0; i < size; i++){
|
||||
#if(DEBUG == DEBUG_UART1)
|
||||
|
||||
Reference in New Issue
Block a user