Witam Kolegów,
Natrafiłem na problem i zwracam się do bardziej doświadczonych z prośbą o wsparcie.
Mam 6 urządzeń po RS-485 1200 baud (można skonfigurować dowolnie), które muszę zaterminować w jednym mikrokontrolerze - stąd muszę stworzyć 6 programowych UARTów. Sprzętowy jest już zajęty przez działającą transmisję z modemem - wolnych nóżek jest jeszcze ze 2 razy więcej. Interesują mnie wyłącznie informacje przychodzące do uC.
Nadmienię, że po podłączeniu każdego z urządzeń do sprzętowego UARTa, transmisja przebiega poprawnie.
Mój pomysł:
otworzyć transmisję
Open "comd.7:1200,8,n,1" For Input As #1
...
...
Open ........... #6
w przerwaniu odczytywać przy pomocy Inkey() transmisję - dostaję krzaczki, a ponieważ jest to rozwiązanie programowa, nie można zbuforować poprzez Config Serialin = Buffered, ....
Spróbowałem Serin S , 0 , D , 7 , 1200 , 0 , 8 , 1, który buforuje w zakresie zadeklarowanej zmiennej S - czyta do pierwszego {13}{10}, resztę ignoruje.
Do tej pory wykorzystywałem wyłącznie UART sprzętowy i nie napotkałem większych problemów, natomiast przy tych wymogach stanąłem przed ścianą...
Koledzy, jakiś pomysł?
Z góry dziękuję i pozrdawiam,
Marcin
Natrafiłem na problem i zwracam się do bardziej doświadczonych z prośbą o wsparcie.
Mam 6 urządzeń po RS-485 1200 baud (można skonfigurować dowolnie), które muszę zaterminować w jednym mikrokontrolerze - stąd muszę stworzyć 6 programowych UARTów. Sprzętowy jest już zajęty przez działającą transmisję z modemem - wolnych nóżek jest jeszcze ze 2 razy więcej. Interesują mnie wyłącznie informacje przychodzące do uC.
Nadmienię, że po podłączeniu każdego z urządzeń do sprzętowego UARTa, transmisja przebiega poprawnie.
Mój pomysł:
otworzyć transmisję
Open "comd.7:1200,8,n,1" For Input As #1
...
...
Open ........... #6
w przerwaniu odczytywać przy pomocy Inkey() transmisję - dostaję krzaczki, a ponieważ jest to rozwiązanie programowa, nie można zbuforować poprzez Config Serialin = Buffered, ....
Spróbowałem Serin S , 0 , D , 7 , 1200 , 0 , 8 , 1, który buforuje w zakresie zadeklarowanej zmiennej S - czyta do pierwszego {13}{10}, resztę ignoruje.
Do tej pory wykorzystywałem wyłącznie UART sprzętowy i nie napotkałem większych problemów, natomiast przy tych wymogach stanąłem przed ścianą...
Koledzy, jakiś pomysł?
Z góry dziękuję i pozrdawiam,
Marcin