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

📄 motion_debug.c

📁 mtk 6225 下 重力传感器MXC6202驱动源码
💻 C
字号:
//#ifdef _MTK_TARGET_
/* debug */
#ifdef __MTK_TARGET__
   /* 
    * - For PC Simulator and MoDis, do not call media's webcam functions 
    * - For Target, call media's cam functions.
    */
#define ENGINEMOTION_DRIVER_AVAIALBE

#endif /* __MTK_TARGET__ */

#define ENABLE_MEMSIC_DBG	

#define MAXCHARS	512
#define MAXFRACT    	10000
#define NumFract        4

#define ENABLE_MEMSIC_DBG	

#include "stdarg.h"
#ifdef ENGINEMOTION_DRIVER_AVAIALBE
//#include "uart_sw.h"
#include "drv_comm.h"
#endif

#ifdef ENGINEMOTION_DRIVER_AVAIALBE

/* debug */
char print_buf_memsic[MAXCHARS];
//extern kal_uint16 BMT_PutBytes(UART_PORT port, kal_uint8 *Buffaddr, kal_uint16 Length);

static void itoa_debug(char **buf, int i, int base)
{
	char *s;
#define LEN	20
	int rem;
	static char rev[LEN+1];

	rev[LEN] = 0;
	if (i == 0)
		{
		(*buf)[0] = '0';
		++(*buf);
		return;
		}
	s = &rev[LEN];
	while (i)
		{
		rem = i % base;
		if (rem < 10)
			*--s = rem + '0';
		else if (base == 16)
			*--s = "abcdef"[rem - 10];
		i /= base;
		}
	while (*s)
		{
		(*buf)[0] = *s++;
		++(*buf);
		}
}
void itof_memsic(char **buf, int i)
{
	char *s;
#define LEN	20
	int rem, j;
	static char rev[LEN+1];

	rev[LEN] = 0;
	s = &rev[LEN];
	for (j= 0 ; j < NumFract ; j++)
		{
		rem = i % 10;
			*--s = rem + '0';
		i /= 10;
		}
	while (*s)
		{
		(*buf)[0] = *s++;
		++(*buf);
		}
}

void memsic_dbg_print(char *fmt,...)
{/*
#ifdef ENABLE_MEMSIC_DBG	
   va_list ap;
   double dval;
   int ival;
   char *p, *sval;
   char *bp, cval;
   int fract;
   unsigned short len;

	bp= print_buf_memsic;
	*bp= 0;
	
	va_start (ap, fmt);
	for (p= fmt; *p; p++)
	{
		if (*p != '%')
		{
			*bp++= *p;
			continue;
		}
		switch (*++p) {
		case 'd':
			ival= va_arg(ap, int);
			if (ival < 0){
				*bp++= '-';
			     ival= -ival;
			}
			itoa_debug (&bp, ival, 10);
			break;
			
        	case 'o':
			ival= va_arg(ap, int);
			if (ival < 0){
				*bp++= '-';
			     ival= -ival;
			}
			*bp++= '0';
			itoa_debug (&bp, ival, 8);
			break;
			
		case 'x':
			ival= va_arg(ap, int);
			if (ival < 0){
			     *bp++= '-';
			     ival= -ival;
			}
			*bp++= '0';
			*bp++= 'x';
			itoa_debug (&bp, ival, 16);
			break;
			
		case 'c':
			cval= va_arg(ap, int);
			*bp++= cval;
			break;
			
		case 'f':
			dval= va_arg(ap, double);
			if (dval < 0){
				*bp++= '-';
				dval= -dval;
			}
			if (dval >= 1.0)
				itoa_debug (&bp, (int)dval, 10);
		    	else
				*bp++= '0';
			*bp++= '.';
			fract= (int)((dval- (double)(int)dval)*(double)(MAXFRACT));
            		itof_memsic(&bp, fract);
			break;
			
		case 's':
			for (sval = va_arg(ap, char *) ; *sval ; sval++ )
			    *bp++= *sval;
			break;
		}
	}
	*bp= 0;
	len = (unsigned short)(bp - print_buf_memsic);
	//#if 1
	#ifdef __DMA_UART_VIRTUAL_FIFO__
	for (bp= print_buf_memsic; *bp; bp++)
	{
		PutUARTByte(0,*bp);
	}
	#else
//		BMT_PutBytes(0,(kal_uint8 *)print_buf_memsic,len);
	#endif
	va_end (ap);
#endif	*/
}
#else


void memsic_dbg_print(char *fmt,...)
{
}
#endif

⌨️ 快捷键说明

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