Witam
Jaka komenda włącza komparator analogowy w ATTINY 2313?
W starym AT2313 wystarczyła komenda Acsr.7 = 0 natomiast do sprawdzenia stanu na wyjściu komparatora używałem np. polecenia If Acsr.5 = 0 Then.....
W ATTINY 2313 wypróbowałem już Start Ac lecz bez efektu Do sprawdzenia używam również np. If Acsr.5 = 0 Then.....
Fuse bits mam ustawine
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięATTINY 2313 wewnętrzny komparator analogowy
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
http://atmel.com/dyn/resources/prod_doc ... oc2543.pdf
-> str. 153.
AnalogComparatorDisable =0 a to znaczy, ze zasilanie komparatora jest włączone.
To też się nie zmieniło. Czyli Ok.
Po pierwsze:
Czy ustawiłeś PB0 i PB1 jako wejścia wysokoimpedanycjne (czyli bez pullup-a),tzn.:
DDB[1,0] = 00b, PORTB[1,0] = 00b ?
Po drugie:
Co masz na ACSR.6 = ACBG (Analog Comparator BandGap Select)?
Domyślnie powinno tam być 0, ale jeżeli Bascom przypadkiem wpisał jedynkę to na wejście AIN0(+) zostaje dołączone wewnętrzne napięcie odniesienia. A to w realnym układzie może przenieść próg porównania poza zakres zmian napięcia na wejściu AIN1(-).
W 90S2313 bit ACSR.6 był nieużywany (choć zastrzeżony).
Przy okazji możesz (choć nie musisz) wyłączyć wejścia cyfrowe na liniach PB0 i PB1:
[AIN1D, AIN0D] = DIDR[1,0] = 11b.
--
MDz
-> str. 153.
Czyli Ok.W starym AT2313 wystarczyła komenda Acsr.7 = 0
AnalogComparatorDisable =0 a to znaczy, ze zasilanie komparatora jest włączone.
ASCR.5 = ACO (Analog Comparator Output)....natomiast do sprawdzenia stanu na wyjściu komparatora używałem np. polecenia If Acsr.5 = 0 Then.....
To też się nie zmieniło. Czyli Ok.
Po pierwsze:
Czy ustawiłeś PB0 i PB1 jako wejścia wysokoimpedanycjne (czyli bez pullup-a),tzn.:
DDB[1,0] = 00b, PORTB[1,0] = 00b ?
Po drugie:
Co masz na ACSR.6 = ACBG (Analog Comparator BandGap Select)?
Domyślnie powinno tam być 0, ale jeżeli Bascom przypadkiem wpisał jedynkę to na wejście AIN0(+) zostaje dołączone wewnętrzne napięcie odniesienia. A to w realnym układzie może przenieść próg porównania poza zakres zmian napięcia na wejściu AIN1(-).
W 90S2313 bit ACSR.6 był nieużywany (choć zastrzeżony).
Przy okazji możesz (choć nie musisz) wyłączyć wejścia cyfrowe na liniach PB0 i PB1:
[AIN1D, AIN0D] = DIDR[1,0] = 11b.
--
MDz
Witam
Dzięki za rady lecz nadal komparator mi nie działa
to fragment programu
Config Portb = &B11111100
Portb = &B11111100
Config Portd = &B1110100
Portd = &B1101111
Do
Acsr.6 = 0
Acsr.7 = 0
If Acsr.5 = 0 Then
Gosub Temp_on
End If
Loop
End
Temp_on:
Portd.5 = 0
Waitms 500
Portd.5 = 1
Waitms 500
Portd.5 = 0
Waitms 500
Portd.5 = 1
Return
Dzięki za rady lecz nadal komparator mi nie działa
to fragment programu
Config Portb = &B11111100
Portb = &B11111100
Config Portd = &B1110100
Portd = &B1101111
Do
Acsr.6 = 0
Acsr.7 = 0
If Acsr.5 = 0 Then
Gosub Temp_on
End If
Loop
End
Temp_on:
Portd.5 = 0
Waitms 500
Portd.5 = 1
Waitms 500
Portd.5 = 0
Waitms 500
Portd.5 = 1
Return
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 22 gości