95 lines
3.0 KiB
C
95 lines
3.0 KiB
C
|
|
#include "DBG.h"
|
|||
|
|
#include <stdarg.h>
|
|||
|
|
|
|||
|
|
long long SysTick_Now = 0, SysTick_Last = 0, SysTick_Diff = 0;
|
|||
|
|
char Dbg_Buffer[100];
|
|||
|
|
|
|||
|
|
uint32_t Dbg_Switch = (DBG_OPT_ActCond_STATUS << DBG_BIT_ActCond_STATUS_bit) + \
|
|||
|
|
(DBG_OPT_MQTT_STATUS << DBG_BIT_MQTT_STATUS_bit) + \
|
|||
|
|
(DBG_OPT_Debug_STATUS << DBG_BIT_Debug_STATUS_bit) + \
|
|||
|
|
(DBG_OPT_LOGIC_STATUS << DBG_BIT_LOGIC_STATUS_bit) + \
|
|||
|
|
(DBG_OPT_DEVICE_STATUS << DBG_BIT_DEVICE_STATUS_bit) + \
|
|||
|
|
(DBG_OPT_NET_STATUS << DBG_BIT_NET_STATUS_bit) + \
|
|||
|
|
(DBG_OPT_SYS_STATUS << DBG_BIT_SYS_STATUS_bit);
|
|||
|
|
|
|||
|
|
/*******************************************************************************
|
|||
|
|
* Function Name : Dbg_NoTick_Print
|
|||
|
|
* Description : DEBUG<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ
|
|||
|
|
* Input :
|
|||
|
|
* Return :
|
|||
|
|
*******************************************************************************/
|
|||
|
|
void Dbg_NoTick_Print(int DbgOptBit ,const char *cmd, ...)
|
|||
|
|
{
|
|||
|
|
if (DBG_LOG_EN && (Dbg_Switch & (1 << DbgOptBit )))
|
|||
|
|
{
|
|||
|
|
SysTick_Now = SysTick_1ms;
|
|||
|
|
SysTick_Diff = SysTick_Now - SysTick_Last ;
|
|||
|
|
SysTick_Last = SysTick_Now;
|
|||
|
|
|
|||
|
|
va_list args; //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>va_list<73><74><EFBFBD>͵ı<CDB5><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>浥<EFBFBD><E6B5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
va_start(args,cmd); //ʹargsָ<73><D6B8><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
vprintf(cmd,args); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>vprintf<74>ȴ<EFBFBD>V<EFBFBD><56>
|
|||
|
|
va_end(args); //<2F><><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>ȡ
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void Dbg_Print(int DbgOptBit ,const char *cmd, ...)
|
|||
|
|
{
|
|||
|
|
if (DBG_LOG_EN && (Dbg_Switch & (1 << DbgOptBit )))
|
|||
|
|
{
|
|||
|
|
SysTick_Now = SysTick_1ms;
|
|||
|
|
SysTick_Diff = SysTick_Now - SysTick_Last ;
|
|||
|
|
SysTick_Last = SysTick_Now;
|
|||
|
|
sprintf(Dbg_Buffer,"%8.lld [%6.lld]: ",SysTick_Now,SysTick_Diff);
|
|||
|
|
DBG_Printf("%s",Dbg_Buffer);
|
|||
|
|
va_list args; //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>va_list<73><74><EFBFBD>͵ı<CDB5><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>浥<EFBFBD><E6B5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
va_start(args,cmd); //ʹargsָ<73><D6B8><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
vprintf(cmd,args); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>vprintf<74>ȴ<EFBFBD>V<EFBFBD><56>
|
|||
|
|
va_end(args); //<2F><><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>ȡ
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void Dbg_Println(int DbgOptBit ,const char *cmd, ...)
|
|||
|
|
{
|
|||
|
|
if (DBG_LOG_EN && (Dbg_Switch & (1 << DbgOptBit )))
|
|||
|
|
{
|
|||
|
|
SysTick_Now = SysTick_1ms;
|
|||
|
|
SysTick_Diff = SysTick_Now - SysTick_Last; //<2F><>һ<EFBFBD>δ<EFBFBD>ӡʱ<D3A1><CAB1><EFBFBD><EFBFBD>
|
|||
|
|
SysTick_Last = SysTick_Now;
|
|||
|
|
sprintf(Dbg_Buffer,"%8.lld [%6.lld]: ",SysTick_Now,SysTick_Diff);
|
|||
|
|
DBG_Printf("%s",Dbg_Buffer);
|
|||
|
|
va_list args; //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>va_list<73><74><EFBFBD>͵ı<CDB5><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>浥<EFBFBD><E6B5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
va_start(args,cmd); //ʹargsָ<73><D6B8><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
vprintf(cmd,args); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>vprintf<74>ȴ<EFBFBD>V<EFBFBD><56>
|
|||
|
|
va_end(args); //<2F><><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>ȡ
|
|||
|
|
DBG_Printf("\n\r");
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void Dbg_Print_Buff(int DbgOptBit ,const char *cmd ,uint8_t *buff,uint32_t len)
|
|||
|
|
{
|
|||
|
|
if (DBG_LOG_EN && (Dbg_Switch & (1 << DbgOptBit )))
|
|||
|
|
{
|
|||
|
|
SysTick_Now = SysTick_1ms;
|
|||
|
|
SysTick_Diff = SysTick_Now - SysTick_Last; //<2F><>һ<EFBFBD>δ<EFBFBD>ӡʱ<D3A1><CAB1><EFBFBD><EFBFBD>
|
|||
|
|
SysTick_Last = SysTick_Now;
|
|||
|
|
sprintf(Dbg_Buffer,"%8.lld [%6.lld]: ",SysTick_Now,SysTick_Diff);
|
|||
|
|
DBG_Printf("%s%s",Dbg_Buffer,cmd);
|
|||
|
|
for(uint32_t i=0;i<len;i++)
|
|||
|
|
{
|
|||
|
|
DBG_Printf("%02X ",buff[i]);
|
|||
|
|
}
|
|||
|
|
DBG_Printf("\n\r");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|