最近在看Arduino-Lufa这个项目,从这个项目上可以引伸出来移除 Arduino Leonrado USB 功能的方法。比如,有些时候,你不想做出来的产品插在电脑上还莫名其妙的出现一个串口就可以用本文的方法来移除。
1. 将你的 Arduino 重新拷贝到一个目录下
2. 删除下列文件
arduino-x.x.x_LUFA/hardware/arduino/avr/cores/arduino/CDC.cpp arduino-x.x.x_LUFA/hardware/arduino/avr/cores/arduino/PluggableUSB.cpp arduino-x.x.x_LUFA/hardware/arduino/avr/cores/arduino/PluggableUSB.h arduino-x.x.x_LUFA/hardware/arduino/avr/cores/arduino/USBApi.h arduino-x.x.x_LUFA/hardware/arduino/avr/cores/arduino/USBCore.cpp arduino-x.x.x_LUFA/hardware/arduino/avr/cores/arduino/USBCore.h arduino-x.x.x_LUFA/hardware/arduino/avr/cores/arduino/USBDesc.h
3. 编辑修改下面2个文件
arduino-x.x.x_LUFA/hardware/arduino/avr/cores/arduino/Arduino.h 233: #include "USBAPI.h" 234: #if defined(HAVE_HWSERIAL0) && defined(HAVE_CDCSERIAL) 235: #error "Targets with both UART0 and CDC serial not supported" 236: #endif
arduino-x.x.x_LUFA/hardware/arduino/avr/cores/arduino/main.cpp 39: #if defined(USBCON) 40: USBDevice.attach(); 41: #endif
修改之前可以看到设备管理器中有一个串口设备,这是 Leonrado 设备的串口。 修改之后重新编译任意一个代码,上传之后设备管理器会变为下面这样。可以看到串口已经消失。 这种情况下,如果想重新烧写程序,需要在编译过程中按下 Reset Button。
|