Czy ktoś z Was symulował ADC w AVRStudio v. 3.56? Próbuję zasymulować przetwornik w Tiny15 Konfiguruję odpowiednio ADMUX, ADCSR:
ldi R30,0xE3 out ADMUX,R30
- napięcie referencyjne 2,56V, wypuszczone na PB0, wyrównanie do lewej włączone, pomiar z kanału PB4/ADC3 ldi R30,0x80 ; 87 out ADCSR,R30
- zasilanie przetwornika włączone, konwersja na razie nie, free running nie, przerwanie nie, preskaler zegara na CK/2
No i w procedurze która ma mierzyć napięcie z potencjometru daję:
sbi ADCSR,ADSC ;uruchamiamy ADC
dacconv_wait:
sbic ADCSR,ADSC rjmp dacconv_wait
I ni chu-chu - procesor pozostaje w tej pętli, wbrew zapewnieniom z PDFa, bit ADSC nie ustawia się na zero. WTF??? Co najdziwniejsze w rzeczywistym układzie program najwyraźniej pętlę opuszcza, ale nie mierzy, zaraz to jeszcze dokładniej zbadam, chociaż takie rzeczy jak dochodzenie napięcia do właściwej nóżki itp. sprawdziłem. Czyżby jakiś błąd w konfiguracji przetwornika?
W ADCSR mam obecnie ustawiony preskaler na CK/2, a więc pierwsza konwersja po włączeniu zasilania, która jest dłuższa i zajmuje 25 cykli zegara ADC powinna zostać wykonana po 50 cyklach procesora, tak się jednak nie dzieje...