mam kilka pytań odnośnie różnych trawiących mnie problemów w bascom avr.
1 - czy można w jakiś sposób odwrócić wyświetlanie danych na wyświetlaczu?
weźmy tradycyjny wyswietlacz 2x16 znaków podświetlany na zielono. zwykle podświetlanie jest zielone a wszystko co chcemy wyświetklić gasi wyświetlacz w danym miejscu. czy mozna to odwrócić tak, że wyświetlacz będzie ciemny a to co chcemy napisać będzie na jasno?
2 - jak działa polecenie servo?
czy jak wpiszę jakąś wartość aby serwo ustawiło się pod jakimś kątem to czy jak wpiszę następną wartość dla tego samego serwa to ustawi się dla danej wartości czy wartości się zsumują?
3 - jak wykryć zmianę stanu na jakimś pinie? wiem jak wykryć zero, wiem jak wykryć 1, ale jak wykryć że stan się zmienił z jednego na drugi?
mam jeszcze kilka pytań, ale postaram się najpierw sam znaleźć odpowiedź. jeśli mi się nie uda to zapytam tu.
kilka pytań na temat ogólny (bascom avr)
1. Chyba musisz samemu zaprojektować znaki które będą negatywem znaków oryginalnych a potem używać ich w jakimś trybie "graficznym" wyświetlacza. Ale wtedy i tak nie będzie tak że wszystko jest ciemne a piksele się świecą - to wynika z budowy wyświetlacza. Żeby uzyskać taki efekt trzeba by przekręcić filtry polaryzacyjne które są w wyświetlaczu.
3. Do tego służą przerwania.
3. Do tego służą przerwania.
ale ja chcę wykryć zmianę stanu zwykłego pinu. powiedzmy mam 3 piny i aliasuje je sobie jako:c4r0 pisze:3. Do tego służą przerwania.
A
B
C
stany na tych pinach zmieniają mi się w takt kodu BCD, czyli:
A B C
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
i jak teraz wykryc że na tych pinach stan zmienił się na przeciwny?
nie można byłoby napisać:
Kod: Zaznacz cały
if A <> A then
instrukcje do wykonania
end if
jakis mały przykład?Wesker pisze:3. Są dwie opcje:
- zapamiętanie stanu poprzedniego i po zmianie update
- wykorzystanie przerwania od zmiany stanu
kolejne pytanie się zrodziło. w bascom 8051 w symulacji dzialalo polecenie
Kod: Zaznacz cały
Deflcdcharnie wyświetla wcześniej zdefiniowanych znaków. zastosowałem po
Kod: Zaznacz cały
deflcdcharKod: Zaznacz cały
clsPrzykład zapamiętania poprzedniego stanu:
Jeśli chodzi o przerwanie od zmiany stanu to dotyczy nowszych atmeg i attiny np. używałem tego w attiny85.
U mnie deflcdchar działa w symulacji i mogę to sprawdzić bez problemu.
Kod: Zaznacz cały
Dim A1 as Bit
'...
A1=A
'...
Do
'...
If A1<>A Then
A1=A
'do zrobienia
End If
'...
LoopU mnie deflcdchar działa w symulacji i mogę to sprawdzić bez problemu.