De Pro Micro is een Leonardo variant.
Dat ding heeft native USB ondersteuning op de chip, en daarmee niet een extra USB naar serieel adapter aan boord.
Dat kan er toe leiden dat je Arduino zich eerst als een Arduino aanmeldt, maar even later (als er niets geupload word naar het ding), zich als een ander USB device meldt.
Dat is dan in jouw geval een HID toetsenbord, want eerder gaf je aan dat te willen gaan gebruiken.
En een toetsenbord is geen Arduino.
FTMZ:
Nog even terugkomend op het verhaal van de RXLEDpin 17 en zo...
Dat dit 17 was, haalde ik uit een ander programma, geënt op de ProMicro.
Dat de waarde van deze pin door de BOOL slechts 1 of 0 kon zijn, was eigenlijk geen probleem.
Het was een indicatieLED. Of 1 of 0.
Het is een erfenisje van mijn onkunde over hoe een pin toe te wijzen.
Het gaat daar nog steeds fout.
Jij wil aangeven dat je pin 17 wil gebruiken, omdat daar een LED op is aangesloten.
Dat doe je eerst (met je aangepaste code) hier:
const bool RXLED = 17;
Je maakt hier de term RXLED gelijk aan de boolean die overeenkomt met de waarde 17.
Zoals septilion al aangaf (en ik ook in een antwoord dat ik uiteindelijk maar niet heb geplaatst), werkt het bij booleans iets anders als je mogelijk zou verwachten.
Want daar is een nul een nul (das nog niet zo verrassend).
Maar alles wat niet een nul is, is een 1.
Dus als je een stukje verderop in je code dit doet:
pinMode(RXLED, OUTPUT);
Dan is dat gelijk aan dit:
pinMode(1, OUTPUT);
En vertel je dus jouw code dat je pin 1 wil gebruiken als een uitgang om weer iets verderop een LEDje mee te laten knipperen.
Ik zou niet weten wat er aan pin 1 van een ProMicro zit (zou ik moeten opzoeken), maar het doet in ieder geval niet wat jij dacht dat het zou doen.
Dat jij uiteindelijk op pin 17 waar je LEDje in werkelijkheid wel aan zit, een 1 of een nul (dus de keuzes die booleans je bieden) wil zetten heeft daar dus verder weinig mee te maken,