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

mega32 Bascom - odczyt i zapis portów PCF8574A, problem z adresem 126

nouki 27 Lis 2012 19:49 1455 6
REKLAMA
  • #1 11582040
    nouki
    Poziom 25  
    Witam.

    Mam problem z w/w układem znajduje go pod adresem 126
    kod wygląda tak:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Wysyła prawidłowo zmieniając stany odczytuje 255 ciągle.

    diody pod porty 4,5,6 przycisk port.7

    Czy ktoś ma sprawdzoną procedurę wysyłania i odczytywania portów pojedyńczo.
    Che by 3 porty były wyjściami a pod jednym jest podpięty klawisz zwierający do + i odczytywać jego stan
    |Pozdrawiam Nouki
  • REKLAMA
  • #2 11582427
    Mundi1970
    Poziom 24  
    Dwa pytania, jesteś pewny że posiadasz PCF8574A, a nie PCF8574? PCF8574 ma inny adres. Nogi układu A0, A1 i A2 są podłączone do GND czy do +5V?
  • REKLAMA
  • #3 11582658
    zumek
    Poziom 39  
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Brak sekwencji START, przed wysłaniem adresu do odczytu.
    Poza tym, po wysłaniu adresu układu warto sprawdzić bit Err, którego stan poinformuje nas o tym, czy układ odpowiedział(zgłosił się).
  • #4 11582852
    nouki
    Poziom 25  
    Witam.

    Program który pokazał mi taki adres jest na elektrodzie

    
    For Adres = 100 To 200 
    I2cstart 
    I2cwbyte Adres 
    I2cstop 
    If Err = 0 Then 
    Err = 1 
    Cls 
    Locate 1 , 1 
    Lcd "Adres: " ; Adres 
    Wait 2 
    End If 
    Next Adres


    Adres musi być dobry skoro zapala diody i gasi lecz odczyt daje wynik 255

    Układ ma oznaczenie PCF8574AP.

    Układ posiada na jednej lini 3 układy PCF8574ap , PCF8591, Mcp3221
    jutro zobacze pojedyńczo co się zgłasza pod jakim adresem.
    PCF8591 działa ok
  • REKLAMA
  • Pomocny post
    #5 11583715
    zumek
    Poziom 39  
    nouki napisał:
    ...
    Adres musi być dobry skoro zapala diody i gasi lecz odczyt daje wynik 255

    A czy ja napisałem, że masz zły adres :?:
    Powtarzam, przed wysłaniem adresu do odczytu, użyj sekwencji START lub REPEAT START.
  • #6 11584651
    nouki
    Poziom 25  
    Witam. Pisałem do Kolegi Mundi1970.

    Więc zmieniłem adresy i teraz jest tak

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Działa ok coś mi się ubzdurało że powinno byc 256 a jest 128 wartość po podaniu +5v.
  • REKLAMA
  • Pomocny post
    #7 11584749
    Mundi1970
    Poziom 24  
    Do komunikacji z układem można wykorzystać instrukcje I2csend i I2creceive, po wykonaniu w zmiennej Err jest kod błędu:

    Kod: text
    Zaloguj się, aby zobaczyć kod
REKLAMA