Witam.
Mam oto takie pytanie ponieważ nie znalazłem jednoznacznej informacji ( może słabo szukałem ... )
Otóż w demonstracyjnych procedurach portu freemodbus dla AVR jest tak oto rozwiązany problem sterowania przepływem w sieci RS485 ( samo wyłącznie nadawania ) :
I teraz pytanie Co jeśli koniec wysyłania nastąpi w momencie wystąpienia sekcji krytycznej ?
( freemodbus używa sekcji krytycznych, mój program równierz )
Według tego co znalazłem w opisie biblioteki avrgcc to stracę to przerwanie, ale nie jestem tego na 100% pewien.
Fakt faktem że urządzenie funkcjonuje poprawnie, ale zdarza się że zablokuje kanał transmisji i trzeba całość restartować i wydaje mi się że to właśnie przegapienie tego fragmentu może być przyczyną.
Mam oto takie pytanie ponieważ nie znalazłem jednoznacznej informacji ( może słabo szukałem ... )
Otóż w demonstracyjnych procedurach portu freemodbus dla AVR jest tak oto rozwiązany problem sterowania przepływem w sieci RS485 ( samo wyłącznie nadawania ) :
#ifdef RTS_ENABLE
SIGNAL( SIG_UART_TRANS )
{
RTS_LOW;
}
#endifI teraz pytanie Co jeśli koniec wysyłania nastąpi w momencie wystąpienia sekcji krytycznej ?
cli() ;
( sekcja krytyczna )
sei();( freemodbus używa sekcji krytycznych, mój program równierz )
Według tego co znalazłem w opisie biblioteki avrgcc to stracę to przerwanie, ale nie jestem tego na 100% pewien.
Fakt faktem że urządzenie funkcjonuje poprawnie, ale zdarza się że zablokuje kanał transmisji i trzeba całość restartować i wydaje mi się że to właśnie przegapienie tego fragmentu może być przyczyną.