调试gunit.c

USART_Send_Str(menu); 

 

const char menu[] =
   "\n\r"
   "********************* MINI-¿ª·¢°å  **********************\n\r"
   "|              MINISTM32¿ª·¢°åÊÔÑé³ÌÐò                  |\n\r"
   "|                     ¶¨Ê±Æ÷ÊÔÑé                        |\n\r"
   "|                   www.openmcu.com                     |\n\r"
   "|                     2010.12.17                        |\n\r"
   "|                »µÄк¢    £º627056049                  |\n\r"
   "*-------------------------------------------------------*\n\r";
/*****************************************************************************
** º¯ÊýÃû³Æ: USART_Send_Enter
** ¹¦ÄÜÃèÊö: ´®¿Ú·¢ËÍ×Ö·û´®
				´®¿Ú·¢ËÍ0d 0a £¬¼´»Ø³µ»»ÐÐ
					×¢£º´Ëº¯Êý¾ÍÊÇ·¢ËÍ0d 0aÕâÁ½¸ö×Ö½Ú£¬ÔÚ¡°³¬¼¶ÖÕ¶Ë¡±ÉÏ»áÓлسµ»»ÐеÄЧ¹û
** ×÷  ¡¡Õß: Dream
** ÈÕ¡¡  ÆÚ: 2010Äê12ÔÂ17ÈÕ
*****************************************************************************/
void USART_Send_Enter(void)
{
	USART1_Send_Byte(0x0d);
	USART1_Send_Byte(0x0a);
}

 

 

 

 

 


///
/*PRINT_INFO_ENABLE*/


#define PRINT_DEBUG_ENABLE 0 /* 打印调试信息 */

#define PRINT_ERR_ENABLE 0   /* 打印错误信息 */

#define PRINT_INFO_ENABLE 0 /* 打印个人信息 */

 

 

#if PRINT_DEBUG_ENABLE

#define PRINT_DEBUG(fmt, args...)  do{(printf("\n[DEBUG] >> "), printf(fmt, ##args));}while(0)     

#else

#define PRINT_DEBUG(fmt, args...)      

#endif

 

#if PRINT_ERR_ENABLE

#define PRINT_ERR(fmt, args...)  do{(printf("\n[ERR] >> "), printf(fmt, ##args));}while(0)     

#else

#define PRINT_ERR(fmt, args...)        

#endif

 

#if PRINT_INFO_ENABLE

#define PRINT_INFO(fmt, args...)  do{(printf("\n[INFO] >> "), printf(fmt, ##args));}while(0)     

#else

#define PRINT_INFO(fmt, args...)        

#endif

 

 ///
/* 断言 Assert */

这是编译器内置宏,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息。ANSI C标准中几个标准预定义宏:

__LINE__:在源代码中插入当前源代码行号;

__FILE__:在源文件中插入当前源文件名;

__DATE__:在源文件中插入当前的编译日期

__TIME__:在源文件中插入当前编译时间;

__STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1;

__cplusplus:当编写C++程序时该标识符被定义。

 
typedef enum

{

ASSERT_ERR = 0, /* 错误 */

ASSERT_SUCCESS = !ASSERT_ERR /* 正确 */

} Assert_ErrorStatus;


#define AssertCalled(char,int) printf("\nError:%s,%d\r\n",char,int)

#define ASSERT(x)   if((x)==0)  AssertCalled(__FILE__,__LINE__)

 

 

 

 

RTT做法

RT_DEBUG_LOG(RT_DEBUG_IPC,("\r\n\r\n[bodylen %d  len %d]\r\n\r\n",  bodylen,strlen(out)));



#define RT_DEBUG_LOG(type, message)                                           \
do                                                                            \
{                                                                             \
    if (type)                                                                 \
        printf message;                                                   \
}                                                                             \
while (0)


#define RT_DEBUG_IPC                  1	 

 

你可能感兴趣的:(调试gunit.c)