⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 debug._c

📁 u-blox的GPS模块LEA-5x,三本例子为ATMEGA1280对他的操作的程序
💻 _C
字号:
#include <string.h>
#include "uart3.h"

#define DEBUG

const unsigned char char_buf[]=
{
  '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F',
};
/*************************************************

*************************************************/
void debug_init(void)
{

}
/*************************************************

*************************************************/
void debug_send_char(unsigned char ch)
{
  uart3_send_char(ch);
}
/*************************************************

*************************************************/
void debug_send_chars(unsigned char *ch,unsigned int len)
{
  unsigned int i;
  for(i=0;i<len;i++)
  {
    uart3_send_char(*(ch+i));
  }
}
/*************************************************

*************************************************/
void debug_send_string(char *str,unsigned int len)
{
  uart3_data_send(str,len);
}
/*************************************************
*输完字符串后不自动换行
*************************************************/
void debug_str_without_n(char *debugstr)
{
#ifdef DEBUG
   debug_send_string(debugstr,strlen(debugstr));
#else

#endif
}
/*************************************************
*输完字符串后自动换行
*************************************************/
void debug_str(char *debugstr)
{
#ifdef DEBUG
   debug_send_string(debugstr,strlen(debugstr));
   debug_send_string("\n",1);
#else

#endif
}
/*************************************************

*************************************************/
void debug_uchars(unsigned char* debugstr,unsigned int len)
{
#ifdef DEBUG
   debug_send_chars(debugstr,len);
   debug_send_string("\n",1);
#else

#endif
}
/*************************************************

*************************************************/
void debug_uchars_without_n(unsigned char* debugstr,unsigned int len)
{
#ifdef DEBUG
   debug_send_chars(debugstr,len);
   debug_send_string("\n",1);
#else

#endif
}
/*************************************************

*************************************************/
static unsigned char dtoc(unsigned char d)
{
#ifdef DEBUG
    if(d<=9)
            return(d+0x30);
    else
            return(d+0x37);
#endif
}
/*************************************************

*************************************************/
void debug_num_uchar(unsigned char c)
{
#ifdef DEBUG
  unsigned char debug_string[5];
  unsigned char cBuf;
  unsigned int i=0;

  cBuf=(c%1000)/100;
  debug_string[i++]=dtoc(cBuf);
  cBuf=(c%100)/10;
  debug_string[i++]=dtoc(cBuf);
  cBuf=c%10;
  debug_string[i++]=dtoc(cBuf);

  debug_send_chars(debug_string,i);
  debug_send_string("\n",1);
#else
    c=0;
#endif
}
/*************************************************

*************************************************/
void debug_num_uint(unsigned int lBuf)
{
#ifdef DEBUG
  unsigned char debug_string[10];
  unsigned char cBuf;
  unsigned int i=0;

  cBuf=(lBuf%100000)/10000;
  debug_string[i++]=dtoc(cBuf);
  cBuf=(lBuf%10000)/1000;
  debug_string[i++]=dtoc(cBuf);
  cBuf=(lBuf%1000)/100;
  debug_string[i++]=dtoc(cBuf);
  cBuf=(lBuf%100)/10;
  debug_string[i++]=dtoc(cBuf);
  cBuf=lBuf%10;
  debug_string[i++]=dtoc(cBuf);

  debug_send_chars(debug_string,i);
  debug_send_string("\n",1);
#else
    lBuf=0;
#endif
}
/*************************************************

*************************************************/
void debug_num_ulong(unsigned long lBuf)
{
#ifdef DEBUG
  unsigned char debug_string[10];
  unsigned char cBuf;
  unsigned int i=0;

  cBuf=(lBuf%1000000)/100000;
  debug_string[i++]=dtoc(cBuf);
  cBuf=(lBuf%100000)/10000;
  debug_string[i++]=dtoc(cBuf);
  cBuf=(lBuf%10000)/1000;
  debug_string[i++]=dtoc(cBuf);
  cBuf=(lBuf%1000)/100;
  debug_string[i++]=dtoc(cBuf);
  cBuf=(lBuf%100)/10;
  debug_string[i++]=dtoc(cBuf);
  cBuf=lBuf%10;
  debug_string[i++]=dtoc(cBuf);

  debug_send_chars(debug_string,i);
  debug_send_string("\n",1);
#else
    lBuf=0;
#endif
}
/*************************************************

*************************************************/
void debug_uchar_original_shape(unsigned char ucData)
{
  unsigned char accii_H=char_buf[ucData/16];
  unsigned char accii_L=char_buf[ucData-(ucData/16)*16];
  //debug_send_char('0');
  //debug_send_char('x');
  debug_send_char(accii_H);
  debug_send_char(accii_L);
  debug_send_char(' ');
}
/*************************************************

*************************************************/
void debug_uchars_original_shape(unsigned char *ucData,unsigned int len)
{
  unsigned int i;

  for(i=0;i<len;i++)
  {
    debug_uchar_original_shape(ucData[i]);
  }
  debug_send_string("\n",1);
}
/*************************************************

*************************************************/
void debug_uint_original_shape(unsigned int uiData)
{
	unsigned char ucData_h,ucData_l;
	
	ucData_h = (unsigned char)(uiData>>8);
	debug_uchar_original_shape(ucData_h);

	ucData_l = (unsigned char)uiData;
	debug_uchar_original_shape(ucData_l);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -