[INTRO]
Op het moment ben ik bezig met een klein projectje, waarbij ik een CP2102 (USB naar UART) verbind met een AVR-microcontroller voor communicatie. De AVR wordt gevoed via een kleine Li-Ion accu (100 mAh). Deze accu kan eventueel opgeladen worden via de USB-poort.
De AVR moet ook kunnen communiceren via de UART met de PC.
[SITUATIE]
Ik wil graag de volgende opties inbouwen :
A) Via USB : laden accu
B) Via USB : laden accu en communiceren met AVR
C) Stand-alone : alleen AVR actief
In situatie A) zal de AVR niet actief zijn. In situatie B) is identiek aan situatie A, alleen nu is de AVR ook actief, zodat er gecommuniceerd kan worden met de computer. In situatie C wordt via een druktoets de AVR geactiveerd. Dit doe ik door met de druktoets tijdelijk de voeding naar de AVR in te schakelen. Vervolgens stuurt de AVR een digitaal relais aan om de voeding daarover te laten lopen (accu naar AVR).
Wordt nogmaals op de toets gedrukt, dan zal de AVR dit opmerken en het relais weer uitschakelen.
Situatie A) en C) zijn niet het probleem. Het gaat me juist om situatie B). Het is de bedoeling dat de CP2102 een signaal (wake-up) afgeeft (via de PC) naar de AVR. Dit zou dan via een pin van de CP2102 moeten gebeuren.
Maar, welke pinnen zijn hiervoor te misbruiken, zonder dat het effect heeft op de serieele communicatie ? Ik had eerst de RI-pin in gedachten, maar na lang puzzelen, kwam ik erachter dat deze PIN als INPUT wordt gezien voor de CP2102. Ik moet dus een OUTPUT-pin van de CP2102 gebruiken, die ook via de PC is aan te sturen.
DE CP2102 heeft 3 OUTPUT-pinnen : DTR, TXD en RTS.
TXD wordt al gebruikt voor de communicatie. Dan blijven DTR en RTS over.
Maar kunnen deze pinnen wel aangestuurd worden. En zo ja, zonder dat het effect heeft op de aansturing van de data-communicatie. Ik neig om de RTS-pin te gaan (mis)bruiken in dit geval.
[VRAAG]
Welke pin (DTR / RTS) is te misbruiken voor de gezochte situatie, zonder dat het effect heeft op de communicatie ?
Misschien onnodig om te melden, maar ik doe het toch : Ik wil de betreffende pin aansturen via Visual Basic.