This commit is contained in:
qiyongshuang
2026-08-10 10:47:09 +08:00
parent 804daf39a2
commit dfe5ceea43
150 changed files with 20271 additions and 58 deletions
+25 -13
View File
@@ -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)