USB調試實現

void usb_printk(const char *str, ...)

{

     va_list varg;

     int retv;

     charsbuffer[16*1024]; 

     volatile int i,j;

     static int first_flag=0;

     if(!first_flag )

     {

                  retv =PortOpen(P_USB_DEV,NULL);               

                  DelayMs(5000);

                  first_flag = 1;

     }

    memset(sbuffer, 0,sizeof(sbuffer));

    va_start( varg, str);                 

   retv=vsprintf(sbuffer,  str,  varg);

    va_end( varg );

   PortSends(P_USB_DEV,(unsigned char*)sbuffer, strlen((char *)sbuffer));

    DelayMs(10);

}

 

int usb_printk_hex(char *str,uchar *buf,intlen)

{

    int i, j=0;

 

    usb_printk("%s\r\n",str);

    for(i=0;i<len;i++)

    {

            if(i%8==0)usb_printk("%02d: ", j++);

       usb_printk("%02x ",buf[i]);

       if(i%8==7) usb_printk("\r\n");

    }

        usb_printk("\r\n");

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章