ich beschäftige mich momentan ein wenig mit dem Arduino Micro und den USB Funktionalitäten.
Dabei ist mir aufgefallen, dass wenn ich z.B. das "KeyboardMessage"-Example aufspiele, immer noch ein Virtueller Serial Port (CDC) mit dabei ist. Nun zu meiner Frage... Ist es möglich alle Funktionen, bis auf die des Keyboards, auszuschalten? Quasi das nur der USB-Deskriptor für das Keyboard mitgeteilt wird?
die CDC-Schnittstelle ist halt normalerweise die Programmierschnittstelle des Micro. Wenn man die entfernt, kann man ihn nur noch über einen Programmer neu programmieren.
Möglich ist das sicherlich, durch Entfernen des entsprechenden Codes, aber von der Standard Arduino Software wohl eher nicht vorgesehen.
Man könnte statt des Micro auch einen Teensy nehmen, ich glaube da ist es auch bei den 8 Bittern so, dass die nicht über CDC programmiert werden und die serielle Schnittstelle im Menu der Arduino IDE abschaltbar ist. Kenne aber nur die 32 Bitter persönlich.
Hi ArduFE -
vielen Dank für den Tip mit dem Teensy, dort wird in der tat der CDC weg gelassen.
Allerdings würde mich noch die Lösung für den Micro und der aktuellen Arduino Software 1.8.3 interessieren.
Das der Arduino anschließend nicht mehr bzw. nur noch über einen geeigneten Flasher erreichbar ist, ist mir bewusst
Evtl. noch eine Frage bezüglich der Keyboard Emulation, was könnte ein Grund dafür sein, dass nicht alle Zeichen bzw. der gesamte Text am Host ankommt? z.B. Keyboard.write("Das ist ein test...") - hierbei kommen immer nur Stücke bzw. evtl. mal ein Buchstabe an und dabei ist es völlig zufällig welcher.
Also unter Windows liegt die CDC-Implementierung für Micro und Co. anscheinend in ...\Arduino\hardware\arduino\avr\cores\arduino\CDC.cpp .
Du musst halt schauen, wo die für den Micro in den anderen Dateien verwendet wird und diesen Teil der Arduino Bibliotheken umschreiben. Mehr kann ich da auch nicht helfen.