RS485 na Linuxu
Napsal: 11 úno 2017, 20:43
Zdravím,
rád bych se zeptal, zdali jste někdy na Linuxu používali TTL UART nebo RS232 přes převodník na RS485 a jak jste případně u převodníku řešili ovládání binárního výstupu pro flow-control. Zkoušel jsem čekat, až funkce ioctl(TIOCOUTQ) vrátí 0 prvků v bufferu sériové linky, ale zřejmě tu jde o softwarový buffer jádra, nikoliv o TX buffer portu, jelikož se takto několik posledních znaků neodešle i poté, co je už prázdný. Další možnost je pevně daná anebo z baud ratu a počtu znaků spočítaná delay. To mi však přijde jako velice neefektivní cesta...
Existuje tedy nějaká možnost, jak v Linuxu efektivně zjistit, zdali je dokončen transmitt a linka se může přepnout pro příjem? Neexistuje případně i nějaký automatický režim 232ky, kdy k tomuto účelu slouží některý z handshake pinů portu?
rád bych se zeptal, zdali jste někdy na Linuxu používali TTL UART nebo RS232 přes převodník na RS485 a jak jste případně u převodníku řešili ovládání binárního výstupu pro flow-control. Zkoušel jsem čekat, až funkce ioctl(TIOCOUTQ) vrátí 0 prvků v bufferu sériové linky, ale zřejmě tu jde o softwarový buffer jádra, nikoliv o TX buffer portu, jelikož se takto několik posledních znaků neodešle i poté, co je už prázdný. Další možnost je pevně daná anebo z baud ratu a počtu znaků spočítaná delay. To mi však přijde jako velice neefektivní cesta...
Existuje tedy nějaká možnost, jak v Linuxu efektivně zjistit, zdali je dokončen transmitt a linka se může přepnout pro příjem? Neexistuje případně i nějaký automatický režim 232ky, kdy k tomuto účelu slouží některý z handshake pinů portu?