V zásadě to tak funguje a opravdu se nemusím o nic starat. Narazil jsem ale na jeden problém.
Komunikuji se čtečkou připojenou na RS485, komunikace je formou pollingu, takže "neustále" posílám dotazy a čtečka odpovídá (má data / nemá data). Z výroby je čtečka nastavena na rychlost 115200. Při této rychlosti se mi ztrácely odpovědi v poměru cca 5:1, tedy až každá pátá odpověď přišla, zbývající mizely. Totéž jsem viděl při monitoringu, když jsem data na lince odchytával pomocí převodníku na PC (dotaz se odeslal celý, ale odpověď nepřišla). Když jsem ale dotaz odeslal z PC, odpověď přišla vždy.
Postupnými pokusy jsem se dostal až k tomu, že jsem před každý dotaz vložil ještě jeden byte (0x00, ale je to jedno). Voilà, odpověď pak přišla vždy. Neměli jsme čas pohrát si s tím a zkusit to napojit na analyzátor, ale připadá mi to tak, že SDS přepíná linku někde "na hraně", takže někdy to projde, jindy ne. Možná je čtečka jinak citlivá na délku startbitu (který je při té rychlosti dost krátký) nebo něco takového, protože převodník na PC přijímá vše.
Snížení rychlosti na 19200 pomohlo, jiné jsem nezkoušel. Takže zůstáváme na 19200, pro naše účely zcela vyhovující.
Je možné, že je problém někde u nás, až bude čas, tak se tomu můžeme věnovat víc. Taky může být jinak citlivý HW kus od kusu, tak to beru jen jako námět, jestli je čekání na přepnutí směru dostatečné.