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

Problem z obsługą tda8425 i2c [Atmega32][C]

xysio_ 26 Paź 2010 10:54 1757 12
REKLAMA
  • #1 8664821
    xysio_
    Poziom 18  
    od kilku dni próbuje uruchomić regulator barwy TDA8425 sterowany przez I2C, korzystam z biblioteki ze strony www.radzio.dxp.pl program pisałem wzorując się na innych pisanych w bascomie oraz nocie katalogowej, ale układ w ogóle nie reaguje, podłaczyłem również rezystory podciągające, ale to też nie pomogło.
    mój program wygląda tak:
    #define F_CPU 4000000UL
    
    #include <avr/io.h>
    #include <avr/TWI.h>
    #include <util/delay.h>
    
    int main()
    {
    	DDRC=0xFF;
    	PORTC=0xFF;
    
    	
    	twistart();
    	twiwrite(130);
    	twiwrite(0);
    	twiwrite(250);
    //	twistop();
    	_delay_ms(1);
    		twistart();
    	twiwrite(130);
    	twiwrite(1);
    	twiwrite(250);
    //	twistop();
    	_delay_ms(1);
    		twistart();
    	twiwrite(130);
    	twiwrite(2);
    	twiwrite(246);
    //	twistop();
    	_delay_ms(1);
    		twistart();
    	twiwrite(130);
    	twiwrite(3);
    	twiwrite(246);
    //	twistop();
    	_delay_ms(1);
    	twistart();
    	twiwrite(130);
    	twiwrite(8);
    	twiwrite(0b11011110);
    	twistop();
    
    
    }

    Proszę o pomoc
  • REKLAMA
  • #2 8667645
    xysio_
    Poziom 18  
    dorzuciłem preskaler(64), i teraz(z uwagi na brak sprzętu) podłączając diodę do wyjścia sda lub scl da się zauważyć mrugnięcia, czyli jakieś dane wychodzą, ale tda nadal nie reaguje
  • #3 8667682
    gaskoin
    Poziom 38  
    pomijając poprawność ramek - pokaż mi taki fragment w kodzie, w którym ustawiasz prędkość i2c ? :)
  • REKLAMA
  • #4 8667764
    xysio_
    Poziom 18  
    po założeniu tematu wzbogaciłem program o linie
    TWSR=(1<<TWPS0)|(1<<TWPS1);
    

    ale i tak nie ruszyło

    w nocie katalogowej atmegi znalazłem również rejestr TWBR, na początek sugerując się podanym wzorem wpisałem 1, niestety nie pomogło
  • #5 8668026
    michalko12
    Specjalista - Mikrokontrolery
    Zobacz w DS jakie wartości powinny mieć subadresy. (+192) (+240)
  • #6 8668077
    xysio_
    Poziom 18  
    wydaje mi się że subadresy są ok, chyba że troszkę bardziej mi podpowiesz co jest nie tak
  • #7 8668111
    michalko12
    Specjalista - Mikrokontrolery
    Masz rację, subadresy sa ok, tabelki mi się przestawiły.

    Dodano po 13 [minuty]:

    Wstaw cała ta sekwencję twi w pętle:

    while(1)
    {
       twistart();
       twiwrite(130);
       twiwrite(0);
       twiwrite(250);
    //   twistop();
       _delay_ms(1);
          twistart();
       twiwrite(130);
       twiwrite(1);
       twiwrite(250);
    //   twistop();
       _delay_ms(1);
          twistart();
       twiwrite(130);
       twiwrite(2);
       twiwrite(246);
    //   twistop();
       _delay_ms(1);
          twistart();
       twiwrite(130);
       twiwrite(3);
       twiwrite(246);
    //   twistop();
       _delay_ms(1);
       twistart();
       twiwrite(130);
       twiwrite(8);
       twiwrite(0b11011110);
       twistop();
    }
  • REKLAMA
  • #8 8670718
    xysio_
    Poziom 18  
    zrobiłem jak radziłeś, ale nadal brak odzewu
  • #9 8672302
    michalko12
    Specjalista - Mikrokontrolery
    Możesz pokazać jakiś schemat tego co zrobiłeś?
  • REKLAMA
  • #10 8673089
    xysio_
    Poziom 18  
    schematu nie mam, ale wygląda to tak że sda i scl z atmegi są podłaczone przez 3,3k do 5v i prosto do sda, scl tda, do testów podłączam również masę logiczną tda do masy atmegi
  • #11 8676268
    xysio_
    Poziom 18  
    pomimo ciągłych kombinacji nadal nie działa, na poczekaniu napisałem obsługę i2c bez sprzętowego TWI, i też nie działał, więc pewnie jest coś ze sprzętem, tylko nie mam pomysłu co może być nie tak, tda był już raz wymieniany
  • #12 8676442
    michalko12
    Specjalista - Mikrokontrolery
    Na czym sprawdzasz te TDA? Skąd wiesz że część audio poza TDA jest sprawna?
  • #13 8676511
    xysio_
    Poziom 18  
    na we tda jest podany sygnał z laptopa, a na wy jest podłączony wzmacniacz, który działa na 100%
REKLAMA