( uid_6201 | 2011. 12. 18., v – 16:52 )

Kis pontosítás: Request to Send (kommunikációs berendezést kéri meg a végberendezés, hogy váltson adásra - esetedben RS485 TX on)

Halkan megjegyzem, kényelmes lett az elmúlt 20 évben a soros kezelés. Mikrovezérlőkben ott a sorosító hardver i2c, spi, usart, stb. Annó az 1990-es évek elején még megszokott volt, hogy szoftverből kellett lejátszani a startbit-adatok-stopbit témát. Vételre is!

De le lehet. Egy mai 8 bites mikrovezérlővel még olyan kódot is láttam pár éve, amelyik a 1,5 Mbps-es USB végberendezést megcsinálja célhardver támogatás nélkül, pusztán szoftverből. Bár annyi korlátozás benne van, hogy az idő alatt, amíg az első bit beérkezése kiváltja a vételi interruptot és veszi a csomagot a végéig vagy a elkezdi adni és nem ér a végére, addig aztán nem foglalkozhat más folyamattal. (Persze mára már ezzel sem kell törődni, 12 Mbps-es fullspeed célhardverek bekerültek azóta sok mikrovezérlőbe.)
Ehhez egyébként elég, ha a fenti sebesség 8-szoros utasításmennyiségét (12 millió/mp) képes végrehajtani [12 MHz ATtiny/ATmega vagy 48 MHz PIC16/PIC18], persze az időkritikus része assemblyben van jól kiszámolt órajelekkel megírva.