Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Bascom czujnika ciśnienia - Honeywell

guest666 02 Kwi 2014 12:42 1059 7
  • #1 02 Kwi 2014 12:42
    guest666
    Poziom 12  

    Nota katalogowa:
    http://www.tme.eu/pl/Document/343e3705f061b62b0e3f367f8767b920/asdx-d0.pdf

    Nie moge połączyć się z czujnikiem HONEYWELL ASDXRRX001PG7A5 po i2c

    Mój program:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    problem w tym, że nawet daje opcje szukania po magistrali jego adresu to mi się on nie zgłasza.
    W nocie jest napisane:
    Code:
    Read operation: Start, Slave Address, R/W =1, Data Byte 1 (MSB), Ackn Bit, Data Byte 2 (LSB). 
    
    The output is corrected pressure as unsigned 12 bits. Slave Address is F0h. Acknowledge Bit - pull data line LOW, master
    generates an extra clock pulse for this purpose.

    0 7
  • #2 02 Kwi 2014 13:46
    MArSTER_1
    Poziom 18  

    Instrukcje:
    I2cinit
    I2cstart
    musisz zamieścić przed instrukcją Do.
    No i poczytać o komunikacji , bo wymaga to nieco większej ilości instrukcji.

    0
  • #3 02 Kwi 2014 13:49
    guest666
    Poziom 12  

    MArSTER_1 napisał:
    Instrukcje:
    I2cinit
    I2cstart
    musisz zamieścić przed instrukcją Do.
    No i poczytać o komunikacji , bo wymaga to nieco większej ilości instrukcji.


    No to kolega wiele nie pomógł...
    Inne urządzenia na i2c mi chodzą np: 24c16, DS1307...a to dziadostwo nie chce

    0
  • #4 02 Kwi 2014 18:47
    Mundi1970
    Poziom 24  

    Wydaje mi się że adres dla odczytu/zapisu powinien mieć wartość &HF1. Jeżeli korzystasz z hardwarowego TWI (np. w Atmega 32 pin PC.0 i PC.1) to masz zamienione SDA z SCL.

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0
  • #5 03 Kwi 2014 08:09
    guest666
    Poziom 12  

    Mundi1970 napisał:
    Wydaje mi się że adres dla odczytu/zapisu powinien mieć wartość &HF1. Jeżeli korzystasz z hardwarowego TWI (np. w Atmega 32 pin PC.0 i PC.1) to masz zamienione SDA z SCL.

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Witam
    Niestety żadna kombinacja nie działa..
    Jak dam: I2creceive Asdx_rw , I2c_buf(1) , , 2 - pokazują się: 00 0
    Jak dam: I2creceive Asdx_rw , I2c_buf(1) , 0 , 2 - nie ma nic na ekranie
    W żadnym przypadku nie wyskakuje ERROR
    Zmieniałem częstotliwość twi , też nic..
    Jakieś pomysły...??

    0
  • #7 18 Kwi 2014 09:39
    guest666
    Poziom 12  

    [quote="guest666"]

    Mundi1970 napisał:
    Wydaje mi się że adres dla odczytu/zapisu powinien mieć wartość &HF1. Jeżeli korzystasz z hardwarowego TWI (np. w Atmega 32 pin PC.0 i PC.1) to masz zamienione SDA z SCL.

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Witam
    Zaczeło coś tam działać ;) - przewód i2c nie był ekranowany i miał 20cm dlatego nie chciało ZNALEŚĆ CZUJNIKA.

    Dziękuję za pomoc.
    Apropos......układ ma numer F0 i F1 a nie tak jak w nocie pisało 78

    0
  • #8 18 Kwi 2014 17:14
    atom1477
    Poziom 43  

    Bo w nocie podali adres 7-bitowy (czyli prawdziwy).
    A to co Ty podajesz (czyli F0 i F1) to nie jest adres lecz [adres + bit W/R].
    Jako że bit W/R jest najmłodszy to powoduje przesunięcie adresu o 1 bit w lewo (czyli pomnożenie przez 2). Z 78 robi się więc F0.

    0