logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[ATmega 8][C] jak wykryc odlaczenie urzadzenia od RS ?

cyber48 03 Lip 2009 17:00 1370 7
REKLAMA
  • #1 6735069
    cyber48
    Poziom 10  
    Witam !

    Czy ktoś mógłby podsunąć mi pomysł jak wykryć odłączenie urządzenia (telefonu) od portu szeregowego RS232 ? Próbuję sposobu: wysłać do tel. jakąś komendę, poczekać chwile i sprawdzić flage RXC z rejestru UCSRA - taki sygnał że rejestr UDR nie odebrał żadnego nowego bajtu, czyli że telefon jest odłączony.. Niestety nie do końca chce to działać :cry:

    Jest może jakiś prostszy sposób ?
  • REKLAMA
  • REKLAMA
  • #3 6736358
    cyber48
    Poziom 10  
    No dobra Freddie.. ale ja podlaczam ten telefon przez MAX232 .. normalnie od strony AVRa na liniach Tx Rx jest '1'.. nawet po wpieciu 2 rezystorow pull down.. jedyny poziom napiecia, ktory sie zmienia po odlaczeniu telefonu od DB9 to pin nr 8 po drugiej stronie MAX232 (R2IN).. tyle ze niewiele mi to daje bo nie mam juz wolnych portow zeby ew. probkowac tą linie..

    polaczenie wyglada tak:

    AVR ------> Max232 ---------> DB9

    (2) Tx -----> (10) T2IN -----> T2OUT (7) ------> (3)

    (3) Rx -----> (9) R2OUT ------> R2IN (8) ------> (2)
  • REKLAMA
  • REKLAMA
  • #5 6736503
    cyber48
    Poziom 10  
    no raczej.. tylko problem w tym ze napięcie przed max'em ciagle = '1' ... nawet z tymi 4k7 pull down... ?
  • #7 6737469
    cyber48
    Poziom 10  
    jedyny poziom napiecia, ktory sie zmienia po odlaczeniu telefonu od DB9 to pin nr 8 po drugiej stronie MAX232 (R2IN).. czyli za ukladem MAX a przed zlaczem DB-9.

    Poza tym ten poziom jest = 0 gdy tel. odlaczony i -5.6V gdy podlacze telefon.. gdyby zmienial sie w granicach 0 do +5V PRZED ukladem MAX, to juz dawno bym sobie z tym poradzil.. ale w takiej sytuacji to jedynie inwerter i odczyt stanu tej linii R2IN na dodatkowym pinie ATmegi 8, ktorego niestety wolnego juz nie mam ...
  • #8 6739777
    kedzi1
    Poziom 18  
    Spróbuj podciągnąć wejście na DB9 do plusa, ale tego z wew. przetwornicy, tak żeby było -5,6 z telefonem, + nap. z przetwornicy bez telefonu. Wtedy stan będzie zmieniał się na wejściu mikrokontrolera. Powinno działać na 100%.
REKLAMA