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

Jak zrealizować komunikację między ATMega32 a 89C2051? I2C czy szeregowa?

Anderian 23 Kwi 2004 23:47 1368 4
REKLAMA
  • #1 609581
    Anderian
    Poziom 18  
    Posty: 406
    Pomógł: 9
    Ocena: 3
    musze jakos sobie poradzic z wymiana informacji miedzy tymi dwoma procesorami, myslalem nad I2C ale ze znalezionych postow dowiedzialem sie ze 89C2051 ciezko przestawic w tryb slave (linie INT0 i INT1sa juz zajete) ale moze Mega32 by sie dalo ustawic w tryb slave a 2051 by byl masterem
    co o tym sadzicie ??

    czy moze lepiej bedzie zrobic komunikacje szeregowa (ale w sumie lacze do PC tez by sie przydalo) ???

    programy bede pisal najprawdopodobniej w bascomie
  • REKLAMA
  • #2 609966
    Tdv
    Poziom 34  
    Posty: 2237
    Pomógł: 150
    Ocena: 53
    To zależy ile danych chcesz między nimi przesyłać. Ja bym był jednak za wykorzystaniem UART'a, ewentualnie nie baw się w IIC tylko opracuj sobie sam prosty protokół wg potrzeby bo jeżeli masz tylko 2 uC i tylko 1 jest masterem to po co sobie komplikować życie i implementować całe IIC?
  • REKLAMA
  • #3 610707
    szymtro
    Poziom 30  
    Posty: 1421
    Pomógł: 101
    Ocena: 59
    popieram kolegę Tdv. Jak musi to być transmisja szeregowa a nie chcesz używać uart'a to podłącz jedną linię do int c2051 i używaj poleceń shiftout. Dodatkowo przed transmisją można ustawić jakiś bit na 0 a potem go zpowrotem na 1 - taka prosta detekcja nadawania. Można też dołorzyć potwierdzenie - po odebraniu żądania(0 na pinie) drugi układ też wystawia 0 na jakimś bicie. W sumie proste.
  • REKLAMA
  • #4 611542
    GienekS
    Poziom 32  
    Posty: 1971
    Pomógł: 139
    Ocena: 15
    To co wynika z manuala 89c2051 to to że on nie ma sprzętowego I2C Także będziesz zmuszony do robienia wszystkiego na piechotę. To nie lepirj wykożystać USART-a z obydwu procków do komunikacji ?
  • #5 612036
    Nemo
    Poziom 31  
    Posty: 2077
    Pomógł: 9
    Ocena: 72
    Najprościej połączyć wejścia RxD i TxD razem i tak organizować transmisję po RS'ie na jednej linii. Widziałem coś takiego w książce o MCS-51 autorstwa Jarosława Dolińskiego. Tam połączenie było między kilkoma MCS'ami przy pomocy RS'a pracującego w trybie 9/8bit. Dość dokładny opis był w książce.
    Pozdrawiam.
REKLAMA