Witam.
Nie do końca potrafię namierzyć problem.
Do odczytu wartości napięć na wejściach AIN0...AIN3 układu PCF8591 stosuję procedurę:
Const Rpcf1 = &B1001101
Const Wpcf1 = &B1001100
Const Rpcf2 = &B1001001
Const Wpcf2 = &B1001000
Config Sda = Portc.0
Config Scl = Portc.1
Atmega16.
Adresy oczywiście ustawione z warunkami zgodnymi z PCB.
Za każdym razem, i obojętnie na jakim kanale zwraca mi wartość 255.
Nie mam pojęcia co robię nie tak:
1. Uruchamiam i2c: I2cstart
2. Adresuję do zapisu 1001000: I2cwbyte Wpcf2
3. Włączam przetwornik DA (bit 7 control byte) bo chcę go też używać i wysyłam wraz z informacją o numerze wejścia:
Zmienna_byte$ = 64 Or Numer_wejscia$
I2cwbyte Zmienna_byte$
4. Uruchamiam i2c: I2cstart
5. Adresuję do odczytu 1001001 I2cwbyte Rpcf2
6. Odczytuję:
I2crbyte Wartosc_ac$ , Ack
I2crbyte Wartosc_ac$ , Nack
7. Kończę: I2cstop
Z jakiegoś powodu ciągle otrzymuję 255. Ktoś pomoże namierzyć problem / podejrzewa co może być przyczyną?
Poprawiłem tytuł.
[zumek]
Nie do końca potrafię namierzyć problem.
Do odczytu wartości napięć na wejściach AIN0...AIN3 układu PCF8591 stosuję procedurę:
Sub Pomiar_pcf
I2cstart
I2cwbyte Wpcf2
Zmienna_byte$ = 64 Or Numer_wejscia$ ' wlaczenie przetwornika DA (bit 7 control byte)
I2cwbyte Zmienna_byte$
I2cstart
I2cwbyte Rpcf2
I2crbyte Wartosc_ac$ , Ack
I2crbyte Wartosc_ac$ , Nack
I2cstop
End SubConst Rpcf1 = &B1001101
Const Wpcf1 = &B1001100
Const Rpcf2 = &B1001001
Const Wpcf2 = &B1001000
Config Sda = Portc.0
Config Scl = Portc.1
Atmega16.
Adresy oczywiście ustawione z warunkami zgodnymi z PCB.
Za każdym razem, i obojętnie na jakim kanale zwraca mi wartość 255.
Nie mam pojęcia co robię nie tak:
1. Uruchamiam i2c: I2cstart
2. Adresuję do zapisu 1001000: I2cwbyte Wpcf2
3. Włączam przetwornik DA (bit 7 control byte) bo chcę go też używać i wysyłam wraz z informacją o numerze wejścia:
Zmienna_byte$ = 64 Or Numer_wejscia$
I2cwbyte Zmienna_byte$
4. Uruchamiam i2c: I2cstart
5. Adresuję do odczytu 1001001 I2cwbyte Rpcf2
6. Odczytuję:
I2crbyte Wartosc_ac$ , Ack
I2crbyte Wartosc_ac$ , Nack
7. Kończę: I2cstop
Z jakiegoś powodu ciągle otrzymuję 255. Ktoś pomoże namierzyć problem / podejrzewa co może być przyczyną?
Poprawiłem tytuł.
[zumek]
