Problem jak zwykle pewnie banalny ale wymiękłem :P Na wyjściu z AVRa (MEGA162), gdzie powinienem mieć piękny sygnał zegarowy dla PGA2310 po software'owym SPI ale chwilowo jest nic niepodłączone mam cś takiego:
/
Problem jak zwykle pewnie banalny ale wymiękłem :P Na wyjściu z AVRa (MEGA162), gdzie powinienem mieć piękny sygnał zegarowy dla PGA2310 po software'owym SPI ale chwilowo jest nic niepodłączone mam cś takiego:
/
Powitanko,
A z jakims obciazeniem? Bo wyglada, jakby jakas pojemnosc sie rozladowywala nie majac za bardzo przez co.
Pozdroofka, Pawel Chorzempa
W dniu 2012-11-19 23:25, badworm pisze:
Jesteś pewien, że to ten sam wsad procesora? Mnie to wygląda, że port jest ustawiony na wejście(DDRC dla tego bitu=0), a rejestrem danych kluczujesz między pull-up a Hi-z.
Pozdrawiam, Paweł
Wygląda jakby "w dół" sygnał był ciągnięty tylko jakimś pull-down. Po mojemu zamienione DDR i PORT.
Dnia Tue, 20 Nov 2012 17:22:56 +0100, Michoo napisał(a):
Ok, znalazłem rozwiązanie, nie trafiłeś choć byłeś blisko. Najpierw miałem coś takiego: DDR(SPI_PORT)=1<<SPI_CS | 1<<SPI_SCK | 1<<SPI_MOSI; a kilka linijek dalej DDR(MUTE_PORT)=1<<MUTE_OUT; przy czym SPI_PORT i MUTE_PORT to to samo. Zebranie tego w jeden wiersz: DDR(SPI_PORT)=1<<SPI_CS | 1<<SPI_SCK | 1<<SPI_MOSI | 1<<MUTE_OUT; rozwiązało problem. Dzięki za podpowiedź, tak coś czułem, że piny odpowiedzialne za soft-spi mogą pracować jako wejścia ale nie mogłem znaleźć gdzie robię błąd.
Na przyszłość imo lepiej zrobić makra pokroju SET_BITS(port,bits) port|=bits CLEAR_BITS(port,bits) port&=!(bits) TOGGLE_BITS(port,bits) port^=bits
mniejsza szansa, ze się operator = gdzieś "omsknie".
Tylda, nie wykrzyknik.
Zgadza się. &=~ Palec mi się omsknął.
Z ciekawości - wiesz (Ty albo ktoś), dlaczego akurat tak wygląda wykres? Na moje oko to właśnie dla Hi-Z powinny być szumy i jakieś piły z pinów obok, a dla pull-up powinna być stabilna jedynka. Na tym RIGOL-u masz to zainwertowane?
Swoją drogą (1<<bit), w avr/io.h masz makro _BV(), IMO programy wtedy są czytelniejsze.
"Jedynka" robiona przez pull-up właśnie jest stabilna, widać że narasta bardzo szybko. Za to Hi-Z na porcie to tak na prawdę pull-down przez sondę oscyloskopu (10MOhm?). Pojemności układu i samej sondy rozładowują się wtedy dłużej niż trwa naładowanie przez pull-up. To dlatego przebieg nie schodzi do zera - te zęby to nie "popsuta" jedynka, tam powinna być seria impulsów 1,0,1,0...
Pozdrawiam, Paweł
Have something to add? Share your thoughts — no account required.
Ask the community — no account required