' Port A przyciski Config Porta.0 = Input Prog Alias Pina.0 Set Prog
' Port A leda Config Porta.6 = Output Leda1 Alias Porta.6 Reset Leda1
Do .......
If Prog = 0 Then Reset Leda1 Else Set Leda1 End If
...... Loop
Nie podając 0 na wejscie A.0 leda zapala się jak chce...
Co robię źle?
Pozdrawiam.
Didn't find your answer? Ask the community — no account required.
M
Michoo
[...]
Nie masz podciągnięcia na pinie - albo rezystor, albo musisz wystawić 1 na port.
J
Jacek
Dnia Thu, 15 Mar 2012 13:32:54 +0100, Michoo napisał(a):
Podciągam programowo poprzez Set Prog.
A
Adam Wysocki
Nie znam bascoma, ale jaki to procek? Może akurat ten nie ma pullupa na pinie PA0 (lub ma domyślnie wyłączonego w fusebitach z powodu tego, że jest tam jakaś alternatywna funkcjonalność). A może ten pullup ma za dużą wartość i jakieś zakłócenia włażą na port... Na innym porcie jest to samo?
M
mw158979
Czy woltomierz to potwierdza?
mw
J
Jacek
Dnia Thu, 15 Mar 2012 12:46:46 +0000 (UTC), Adam Wysocki napisał(a):
formatting link
Nie probowalem na innym porcie.
J
Jacek
Dnia Thu, 15 Mar 2012 13:49:30 +0100, mw158979 napisał(a):
Potwierdza. Kupiłem ten zetaw kilka dni temu celem 'powrotu do korzeni';) Wiele lat temu programowałem różne systemy typu PLC oraz dedykowan systemy automatyki. Zachciało mi się pobawic Atmega i na starcie porażka. Oczywiście wynika to z mojej niewiedzy co do tego rozwiązania.
Ale...
' Port A przyciski Config Porta.0 = Input Prog Alias Porta.0 Set Prog
i w petli programu:
If Prog = 0 Then Call Buzzer(4)
gdzie procedura bzyczka:
Sub Buzzer(piki As Byte ) Dim I As Byte For I = 1 To Piki Buz = 1 Waitms 100 Buz = 0 Waitms 100 Next End Sub
Naciskam przycisk Prog, sprawdzam miernikiem i z 1 zmienia się na 0. A bzyczek nie bzyczy, chociaz w programi mam taką częśc, ktora bzyczy:
If T >= Tempwyl And Tempflaga = 0 Then Tempflaga = 1 Set Leda1 Call Buzzer(3 ) Cls Locate 1 , 1 Lcd "Tryb: SPOCZYNEK" Locate 2 , 1 Lcd S ; Chr(0) ; "C " End If
If T <= Tempzal And Tempflaga = 1 Then Tempflaga = 0 Reset Leda1 Call Buzzer(2 ) Cls Locate 1 , 1 Lcd "Tryb: PRACA" Locate 2 , 1 Lcd S ; Chr(0) ; "C " End If
Wiem, że muszę 'spojrzeć inaczej';) Stąd moje pytanie tutaj...
A
Adam Wysocki
Spróbuj:
Na innym porcie
Podłączyć ręcznie pullupa
Na pewno nie masz włączonego ADC, a bit PUD w SFIOR jest 0?
Z
Zbych
W dniu 2012-03-15 16:12, Jacek pisze:
Stan wejść czyta się przez PINx. PORTx przechowuje stan wyjść.
Tak na szybko: google zwraca taki tutorial, na stronie 13 jest coś z czytaniem stanu linii.
formatting link
A
Adam Wysocki
Jeszcze jedna rzecz przyszła mi do głowy. Nie wiem jak to jest w Bascomie, ale czy sprawdzając stan Prog sprawdzasz na pewno bit w rejestrze PINA, a nie PORTA? Podejrzewam że to nie to, bo opisane zachowanie (nieregularne miganie LEDa) wskazuje na brak pullupa, ale warto się upewnić.
P
Piotrek_P
U¿ytkownik "Jacek" snipped-for-privacy@ola.pl napisa³ w wiadomo¶ci news:16ynwtmcskwsz.188j2sun79otz$. snipped-for-privacy@40tude.net...
S³ysza³e¶ o problemie drgania styków? S³owo klucz: _debouncing_
PP
J
Jacek
Dnia Thu, 15 Mar 2012 17:52:21 +0100, Piotrek_P napisał(a):
Czytałeś, że '>> Nie podając 0 na wejscie A.0 leda zapala się jak chce...'?
P
PC
U¿ytkownik "Jacek" napisa³ w wiadomo¶ci grup dyskusyjnych:16ynwtmcskwsz.188j2sun79otz$. snipped-for-privacy@40tude.net...
Witajcie.
Mam w Bascomie tak± sytuacjê:
' Port A przyciski Config Porta.0 = Input Prog Alias Pina.0 Set Prog <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< TU MUSI BYÆ Set Porta.0
' Port A leda Config Porta.6 = Output Leda1 Alias Porta.6 Reset Leda1
Do .......
If Prog = 0 Then Reset Leda1 Else Set Leda1 End If
...... Loop
Nie podaj±c 0 na wejscie A.0 leda zapala siê jak chce...
Co robiê ¼le?
Pozdrawiam.
J
Jacek
Dnia Thu, 15 Mar 2012 18:33:32 +0100, PC napisał(a):
Dzieki. Ale w takim razie po co są zamienniki (aliasy)?
B
Butek
W dniu 12-03-15 19:38, Jacek pisze:
Przecież Twój alias wskazuje na PINA.0 zamiast na PORTA.0 :)
P
PC
Aliasem odczytasz fizyczny stan pinu typu input i zmienisz stan pinu output.
PC
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.