Witam. Robię sterownik (do teściowej
) do kotła z możliwością regulacji prędkości dmuchawy i jest drobny problem, stosuję wyświetlacz led który wyświetla róże parametry (multipleksowany jest i wykorzystuje do tego celu timer0), jak uruchomię przerwanie zewnętrzne INT0 to zaczyna mi strasznie migotać,tzn. wyświetlacz jest taktowany częstotliwością sieci... doczytałem się na necie że przerwania mają priorytety i pierwszy jest obsługiwany o najwyższym a potem kolejny. I mam pytanko, czy da się to jakoś pogodzić lub inną metodę zastosować?
Programuję w bascomie, wszystko związanie z INT0 mam zaremowane, jak usunę rem to się robią jaja.
Pozdrawiam
Bardzo by mi na tym zależało aby jak najszybciej go uruchomić...
Programuję w bascomie, wszystko związanie z INT0 mam zaremowane, jak usunę rem to się robią jaja.
Pozdrawiam
Bardzo by mi na tym zależało aby jak najszybciej go uruchomić...
Config Timer0 = Timer , Prescale = 64
Enable Timer0
On Timer0 Prztimer0
'Config Int0 = Low Level
'Enable Int0
'On Int0 Zero
Enable Interrupts
Config Adc = Single , Prescaler = Auto , Reference = Internal
Start Adc
Config Watchdog = 2048 'uruchamiamy układ watchdog
Do
'***********************************
'If Flaga_2ms = 1 Then
Flaga_2ms = 0
If Licznik_buzzer > 0 Then
Decr Licznik_buzzer
Buzzer = 1
Else
Buzzer = 0
End If
Gosub Wyswietlanie
Gosub Przyciski
'End If
'*********************************** ' co 1 s
'If Flaga_1s = 1 Then
Flaga_1s = 0
If Licznik_wyjscia > 0 Then
Decr Licznik_wyjscia
End If
If Poz_wysw <> 0 And Licznik_wyjscia = 0 Then ' wychodzenie z emnu jeśli czas wyjścia = 0
Poz_wysw = 0
End If
Mig = Not Mig
' If Czas_pomiaru < 20 Then 'ma być 20 s
'Incr Czas_pomiaru
'If Czas_pomiaru = 20 Then
'Czas_pomiaru = 0
Gosub Pomiar
'End If
'End If
'Gosub Sterowanie
'End If
Loop
End
'*********************************************************************************
Prztimer0:
Timer0 = 6
Flaga_2ms = 1
Incr Dzielnik
If Dzielnik = 500 Then
Dzielnik = 0
Flaga_1s = 1
End If
Return
'(
Zero:
Disable Int0
End If
Enable Int0
Return
')