Digispark - emuláció com-port, tanul elleni küzdelem Arduino
Nagyon gyakran, a fejlődő néhány „mikrokontroller eszköz”, szükség van, hogy csatlakoztassa a számítógéphez. Nem igényel semmiféle „szuper-feladat”, csak valami, és szeretne átvinni a PC-ről a készülék minden csapat, vagy egy kis tömb Dunn; és / vagy fordítva - a készülék adatokat feltölteni a számítógépre. Tipikusan ilyen célokra használja a régi, jól bevált RS232. Most azonban talál egy számítógépet egy hasonló felületet - nem egészen egyszerű feladat ...
Nézzük a hátsó falán a számítógép, alig látni valamit alkalmas feladatok - kivéve néhány USB port.

Az USB - egy nagyon jó megoldás az evolúció számítástechnika: a „forró” kapcsolat és az akkumulátor még egy csomó jó ... Egy rossz - nagyon bonyolult felület kiderült. Ha ásni az interneten ebben az irányban - jobb ... kezét.
Van egy szép kiút -, hogy használja a COM port emuláció. Ehhez rengeteg "penny" chips: CP2102, PL2303, CH340 és mások.

Érdekes tenni anélkül, hogy ezeket a „mankó” - jó - még ATTINY források hiánya a bőség ... Lássuk - hogyan kell végrehajtani egy COM port emuláció széleskörű projekt Digispark. Korábban tekintik megoldásnak, hogy csatlakoztassa a kártyát a számítógép és Arduino IDE

A lényeg a program egy húr
után fut Digispark alakítjuk Digispark Virtuális COM port és a számítógép és érzékeli (ahol DigisparkBootloader a készülékek eltűnik a manager). A számítógép felismeri az új eszközt, mint az szükséges, meg kell tolni a számítógép a megfelelő illesztőprogram (pont DigiSerial.inf fájl)

Ha a számítógép a megfelelő illesztőprogram maga nem találja azt jelzi, hogy be kell szerezni a megfelelő eszközt az Eszközkezelőben:

Get A COM port, akkor bármit akarsz. A legtöbb egyszerű -, hogy „ösztönözzék” ez Arduino IDE monitoron. Csak a környezetben beállításokat, jelölje ki az új COM port, és vele dolgozni ...

Az ilyen „kikötő” vannak árnyalatok:
- DigiCDC könyvtár használ sok RAM. Javasoljuk visszavonását a szövegben portjához F (), például: SerialUSB.print (F ( "test")).
- Port használható az üzenetek, mint általánosan elfogadott (jellemző Serial.print () vonal használható szinte minden munkájában). De most azt kell használni, például SerialUSB.read () helyett Serial.read (), stb
- Nincs jele az árfolyam már nem szükséges inicializálni, csak annyit írj: SerialUSB.begin ().
- Exchange által emulált port on-the-nagyon lassú. A karakter átruházás 5 ms. Meg kell jegyezni, ha a megoldások kidolgozásában.
- Ha a projekt használatához szükséges késleltetési funkció késleltetés (). akkor ki kell cserélni SerialUSB.delay ().
- A projektek DigiCDC funktsiiSerialUSB.delay () iliSerialUSB.refresh () meg kell hívni nem ritkábban, mint minden 10 ms, ha nincs más funkciója hívás SerialUSB.
Példa munka vázlat:
Bemenetre vár ...
Nyomja meg a 0 LED ki vagy 1 LED világít ...
0 LED Ki ...
Bemenetre vár ...
Nyomja meg a 0 LED ki vagy 1 LED világít ...
1 LED On ...
Bemenetre vár ...
Nyomja meg a 0 LED ki vagy 1 LED világít ...
A fenti vázlat reagál a gomb „1” - LED a táblára Digispark, és nyomja meg a „0” gombot, kikapcsolja.