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

[Atmega16][C]i2c,twi sonar mobot-us v2.0

ptaqu777 15 Kwi 2010 10:17 2771 3
REKLAMA
  • #1 7963304
    ptaqu777
    Poziom 11  
    Witam :)

    Mam problem z dogadaniem się Atmegi16 na płytce gotronik z sonarem mobotu
    Link.
    Korzystam z sprzętowego twi. Funkcje pochodzą ze strony Link
    Ze względu na padnięcie strony mobot.pl dołączam dokumentacje do sonaru.
    Temat powiązany znalazłem tutaj Link. Próbowałem używać opisanej tam biblioteki mojtwi.h ( dołączonej w tamtym temacie) lecz mimo wszystko zachowanie było takie samo.
    Połączenia na płytce PC0 - na SCL sonaru, PC1 na SDA sonaru, reset sonaru pin 5 na przycisk na płytce, gnd i vcc sonaru odpowiednio z wyprowadzeń na płytce testowej. Czy oprócz tych 5 ( właściwie 4) wymagane są inne wyprowadzenia aby sonar działał ?

    Po wysłaniu twiwrite(0x03) dioda L2 na czujniku sygnalizująca pomiar zaczyna migać. Nie przechodzi jednak do kolejnego testu. Wydaje mi się że problem może być w braku ustawiania TWINT przez sonar.

    TWI_5.C - program glowny

    #define F_CPU 16000000UL // zegar procesora
    #define SCL_CLOCK  100000L //zegar twi
    #include <avr/io.h>
    #include <util\delay.h>
    //#include "twi.c"
    void test()
    {
    	DDRA=0xFF;
    	PORTA=0x00;
    	_delay_ms(500);
    	PORTA=0xFF;
    	_delay_ms(500);
    }
    
    void i2c_init(void) {
    
    	TWSR = 0;                         //brak preskalera
    	//TWBR = ((F_CPU/SCL_CLOCK)-16)/2; dla 16 mhz i 100k SCL wynosi 72
    	TWBR=72;
    }
    
    
    void main(void) {
    test();
    i2c_init();
    test();
    twistart();
    _delay_ms(300);
    test();
    twiwrite(0x03);
    test();
    twistop();
    test();
    
    }


    pliki twi.h i twi.c ze strony radzio.dxp.pl
  • REKLAMA
  • #2 7963800
    wicy
    Poziom 22  
    ptaqu777 napisał:
    Połączenia na płytce PC0 - na SCL sonaru, PC1 na SDA sonaru, reset sonaru pin 5 na przycisk na płytce, gnd i vcc sonaru odpowiednio z wyprowadzeń na płytce testowej. Czy oprócz tych 5 ( właściwie 4) wymagane są inne wyprowadzenia aby sonar działał ?

    A SCL i SDA podciągnięte są do VCC przez 4k7 ?
  • REKLAMA
  • #3 7963811
    ptaqu777
    Poziom 11  
    Dokładnie tak, są podciągnięte przez rezystory 4k7.


    Edit: Problem rozwiązany :) na podstawce pośredniczącej pomiędzy sonarem a płytką, pin 2 +5 był zwarty do pinu 4 AUTO, który to uniemożliwia komunikację w trybie I2C. :)
  • #4 9255658
    kayek
    Poziom 10  
    Witam.
    Mam ten sam problem, a mianowicie nie działa mi komunikacja po I2C. Kod mam identyczny jak wyżej, a nie widać, żeby piny 2-4 były zwarte. Macie jakiś pomysł?
    Podłączam VCC GND SCL i SDA.
REKLAMA