Trzeba by poczytać troszku o RS485. Jeśli chodzi o sprzęt, to w zasadzie masz dwie główne możliwości. Pierwsza to półdupleks, czyli transmisja naprzemienna po tej samej parze przewodów, druga dupleks w układzie czteroprzewodowym (para przewodów od mastera, para do mastera). Dodatkowo korzystnie z punktu widzenia linii może być pociągnięcie między układami masy. Całość powinna być zrobiona skrętką lub skrętką w ekranie, co zmniejsza wpływ zewnętrznych pól EM na transmisję. Zakładając, że zastosujesz popularną MAX485, musisz do niej doprowadzić z procesora RXD i TXD oraz sygnał sterowania kierunkiem transmisji (dwa wejścia sterujące nadajnikiem i odbiornikiem połączone razem). Przy inicjowaniu procesorów ustawiasz tę samą prędkość transmisji i kierunki: w masterze nadawanie, w slave'ach odbiór (nasłuch).
Master decyduje o tym który ze slave'ów jest wywoływany i po jego wywołaniu przechodzi na nasłuch. Slave, który rozpozna swoje wywołanie przechodzi na nadawanie, wysyła swój komunikat i oddaje sterowanie masterowi przechodząc ponownie na nasłuch. W przypadku BASCOMa faktycznie należy skorzystać z instrukcji PRINT (lub PRINTBIN dla transmisji ramek binarnych).
W przy uruchamianiu lepsza jest transmisja tekstowa (PRINT), bo pozwala na uruchamianie i testowanie pojedynczej stacji przy pomocy dołączonego przez RS peceta i uruchomionego na nim programu terminala (BASCOMowskiego, Hyperterminal itp), co jest znacznie wygodniejsze od uruchamiania całego zestawu. Niestety wymaga to przebudowy lub rozbudowy interfejsu o złącze do RS232, co przyda się na etapie dołączania całości do peceta. W przypadku stacji na różnych potencjałach (np podłączonych do pecetów) należałoby gdzieś (na RS232 peceta lub na rs485 głównego toru transmisji) wprowadzić separację galwaniczną (optoizolację). W przypadku układu transmisji do peceta musisz mieć w stacji 2 uarty, co można osiągnąć przez emulację programową (bascom ma taką możliwość), wykorzystanie procesora z dwoma uartami (np. atmega128) lub zastosowanie zewnętrznego uarta.
Tyle w pigułce.
