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?
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...
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ć.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.