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

📄 mon.c

📁 usbport-sl811usb主控器芯片usb程序实现
💻 C
字号:
/* * Copyright (c) 2006, Benedikt Sauter <sauter@ixbat.de> * All rights reserved. * * Short descripton of file: * * * Redistribution and use in source and binary forms, with or without  * modification, are permitted provided that the following conditions  * are met: * *   * Redistributions of source code must retain the above copyright  *     notice, this list of conditions and the following disclaimer. *   * Redistributions in binary form must reproduce the above  *     copyright notice, this list of conditions and the following  *     disclaimer in the documentation and/or other materials provided  *     with the distribution. *   * Neither the name of the FH Augsburg nor the names of its  *     contributors may be used to endorse or promote products derived  *     from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */#if USBMON#include <string.h>#include "mon.h"#include <core/core.h>#include <uart.h>void usb_mon_stdout(void *output){  core.stdout = output;  usbmon_index=0;  usbmon_loop=0;}void usb_mon_stdin(unsigned char input){  char send[3]={input,0,0};  usbmon_buffer[usbmon_index++]=input;  // if enter is pressed  if(input==0xD){    usbmon_buffer[--usbmon_index]=0;    usb_mon_command();    usbmon_index=0;  } else {    core.stdout(send);  }   if((usbmon_loop==0 && input==0xD)){     send[0]='\n';    send[1]='\r';    core.stdout(send);    core.stdout("usbmon> ");  }   if((usbmon_loop==1 && input==0xD)){    usbmon_loop=0;  }}void usb_mon_command(){  if(strcmp("list",(char*)usbmon_buffer)==0){    core.stdout("\r\nDevice list:\r\n");  } else if (strcmp("mon",(char*)usbmon_buffer)==0) {    core.stdout("\r\n0:02:Bo 00 93 04");    core.stdout("\r\n0:02:Bo 00 93 04");    usbmon_loop=1;  } else if (strcmp("help",(char*)usbmon_buffer)==0) {    usb_mon_usage();  } else if (strcmp(".",(char*)usbmon_buffer)==0) {    usbmon_loop=0;  }  else {    if(usbmon_index>0)      core.stdout("\r\nunkown command (type help)");  }}void usb_mon_usage(){  core.stdout("\r\nUsage:\r\n");  core.stdout("\tlist\t Print device list\r\n");  core.stdout("\tmon\t View online traffic\r\n");}#endif

⌨️ 快捷键说明

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