Jako ze sam rady nie daje proszę o pomoc w dopisaniu obsługi i ustawień RTC na PCF8583 do dołączonego kodu od TDA7439
Chciał bym aby zegar z data był wyświetlany cały czas a po przekręceniu enkodera ustawiany volume gdy naciśniemy enkoder wchodzimy w ustawienia TDA7439 tak jak do tej pory jest natomiast do ustawienia daty i zegara można by zrobić wejście po przez przytrzymanie przycisku od enkodera
Może któryś z kolegów dysponuje odpowiednia wiedza i pomoże ?
- $regfile = "m16def.dat"
- $crystal = 8000000
- $hwstack = 80
- $swstack = 80
- $framesize = 80
- Config Portc.5 = Output : Relay Alias Portc.5 : Set Relay
- Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.1 , Db6 = Portd.7 , Db7 = Portd.0 , E = Portd.5 , Rs = Portd.6 'PCB
- Config Lcd = 16x2
- 'Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.1 , Rs = Porta.0 'ZL3AVR
- 'Config Lcd = 20x4
- initlcd
- Cursor Off
- Cls
- 'Locate 1 , 5
- 'Lcd "TDA7439 TEST"
- 'Locate 2 , 6
- 'Lcd " AUDIO"
- 'Wait 2
- 'Cls
- Locate 1 , 2
- Lcd "SETUP TDA7439 "
- Locate 2 , 2
- Lcd "Wait a moment"
- Waitms 1500
- 'Variable for Data to TDA7439
- '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- ' konfiguracja RC5
- 'Config Rc5 = Pinc.3 , Timer = 2
- 'Dim Adres As Byte , komenda As Byte
- '----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Dim Input_value As Byte 'Zmienna dla multipleksera wejsciowego
- Dim Input_gain_value As Byte 'Zmienna dla poziom wejscia
- Dim Volume_value As Byte 'Zmienna dla Volume
- Dim Bass_tone_value As Byte 'Zmienna dla Bas
- Dim Middle_tone_value As Byte 'Zmienna dla tony srodek
- Dim Heigh_tone_value As Byte 'Zmienna dla tony wysokie
- Dim Limit_value_max As Byte 'Zmienna wartosci graniczna w gore
- Dim Limit_value_min As Byte 'Zmienna wartosci graniczna w dól
- Dim Balance_R As Byte 'Zmienna dla Balans R
- Dim Balance_L As Byte 'Zmienna dla Balans L
- Dim Value As Byte 'Wartosc zapisana w rejestrze
- Dim Adres_Tda7439 As Byte 'Adres i2c TDA
- Dim Register As Byte 'Zdefiniuj rejestr, w którym zapisano wartosc
- Dim Press_button As Byte 'Zmienna do okreslenia nacisniecia klawisza, a tym samym mozliwosc wprowadzenia róznych ustawien
- Dim Functional_value As Byte 'Zmienna jest zdefiniowana dla wszystkich zmiennych poszczególnych ustawien
- Dim Held_var As Bit 'Zmienna wyswietla sie po nacisnieciu przycisku
- Dim Encoder_A As Bit 'Zmienna wskazuje, czy przycisk zostal nacisniety
- Dim Encoder_B As Bit 'Zmienna pokazuje, czy przycisk zostal nacisniety
- Dim Button As Bit 'Zmienna do okreslenia, czy nacisnieto przycisk wyboru
- Dim Tmpin As Byte
- Dim Count As Word
- Dim Tmp_1 As Byte , Tmp_2 As Byte , Db As String * 5 , Tone As String * 6 , Vol_out As String * 7
- Dim Tone1 As Byte
- Dim Tone11 As Byte
- Deflcdchar 1 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 32
- Deflcdchar 2 , 32 , 14 , 14 , 14 , 14 , 14 , 32 , 32
- Deflcdchar 3 , 4 , 14 , 14 , 14 , 14 , 14 , 4 , 32
- Deflcdchar 4 , 32 , 32 , 32 , 21 , 32 , 32 , 32 , 32
- Deflcdchar 5 , 6 , 14 , 30 , 30 , 30 , 14 , 6 , 32
- Declare Sub Bar_vol(byval Vol_out As String , Byval Vol_val As byte , Byval Sel As Byte) 'bargraf od volume
- Declare Sub Bar_Balans(byval Tone11 As String , Byval Tmp_11 As Byte) 'bargraf od balansu
- Declare Sub bargraph_settings(byval Tone As String , Byval Tmp_1 As Byte) 'bargraf od ustawien tonow
- Declare Sub mute()
- Declare Sub Selection()
- Declare Sub Balance_left()
- Declare Sub Balance_right()
- Declare Sub Select_input()
- Declare Sub Change_Settings()
- Declare Sub Setting_function()
- Declare Sub High_tones()
- Declare Sub Inputgain()
- Declare Sub Volume()
- Declare Sub Bass()
- Declare Sub Middle_tones()
- Declare Sub Button_test()
- Declare Sub Transfer()
- Declare Sub Main()
- Declare Sub Lcd_init()
- Declare Sub Tin(byval Tin_val As Byte)
- 'Ports I2C ATMEGA
- '4K7 pullup SCL & SDA
- Config Scl = Portc.0
- Config Sda = Portc.1
- Config I2cdelay = 20
- 'Zdefiniuj dla przycisków sterujacych i zdefiniuj je jako wejscia
- Config Pind.2 = Input : Portd.2 = 1 'Encoder A
- Config Pind.3 = Input : Portd.3 = 1 'Encoder B
- Config Pinc.2 = Input : Portc.2 = 1 : switch Alias Pinc.2 'switch
- 'Config Pinc.6 = Input : Portc.6 = 1 : Sspnd Alias Pinc.6 'SSPND
- Config Debounce = 50
- On Int0 Int0_isr
- Enable Int0
- Config Int0 = Falling
- Enable Interrupts
- 'Standart Register
- Adres_Tda7439 = &H88 'adres chipa urzadzenia TDA7439
- Register = &B00000000 'Wybierz rejestr wejsciowy
- Input_value = 0 'Wybierz wejscie 1
- Functional_value = Input_value 'Wartosc poczatkowa rejestru multipleksera wejsciowego jest przypisana do wartosci funkcji
- Call Transfer 'Funkcja wywolania dla transferu danych
- Adres_Tda7439 = &H88 'adres chipa urzadzenia TDA7439
- Register = &B00000001 'Podadres rejestru kontroli wzmocnienia wejscia
- Input_gain_value = 0
- Functional_value = Input_gain_value 'Wybierz wzmocnienie wejscia (20db)
- Call Transfer 'Funkcja wywolania dla transferu danych
- Adres_Tda7439 = &H88
- Register = &B00000010
- Volume_value = 35
- Functional_value = Volume_value 'Ustaw glosnosc na -10db
- Call Transfer 'Funkcja wywolania dla transferu danych
- Adres_Tda7439 = &H88
- Register = &B00000011 'Rejestr Bass
- Bass_tone_value = 7 'Wybierz Bass 0db
- Functional_value = Bass_tone_value
- Call Transfer 'Funkcja wywolania dla transferu danych
- Adres_Tda7439 = &H88
- Register = &B00000100 'Rejestr sopran
- Middle_tone_value = 7 'sopran 0db
- Functional_value = Middle_tone_value
- Call Transfer 'Funkcja wywolania dla transferu danych
- Adres_Tda7439 = &H88
- Register = &B00000101 'Rejestr wysokie tony
- Heigh_tone_value = 7 'wysokie tony 0db
- Functional_value = Heigh_tone_value
- Call Transfer 'Funkcja wywolania dla transferu danych
- Adres_Tda7439 = &H88
- Register = &B00000110 'Rejestr Balans prawy kanal RIGHT SPEAKER
- Balance_R = 0 '0db Balans_R
- Functional_value = Balance_R
- Call Transfer 'Funkcja wywolania dla transferu danych
- Adres_Tda7439 = &H88
- Register = &B00000111 'Rejestr Balans lewy kanal LEFT SPEAKER
- Balance_L = 0
- Functional_value = Balance_L '0db Balans lewy
- Call Transfer 'Funkcja wywolania dla transferu danych
- Press_button = 1 'Ustaw przycisk, aby ustawic domyslny
- 'test settings
- 'Hoehenvar = 7
- 'Mittenvar = 7
- 'Bassvar = 7
- 'Volumevar = 32
- 'Inputgainvar = 10
- 'Inputvar = 3
- 'Wait 2
- Cls
- Display Off
- '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 'Funkcja aby sprawdzic stan przycisków
- Call Select_input
- Call Volume
- Display On
- Do
- If Count < 1001 Then Incr Count 'menu exit time
- If Count = 1000 Then ' set to main volume
- Press_button = 1
- Call Volume
- End If
- Waitms 10
- ' Getrc5(adres , komenda)
- ' If Adres = 0 and komenda = 12 Then
- ' toggle relay
- ' waitms 20
- ' End If
- ' If Sspnd = 0 And Input_var <> 1 Then
- ' Count = 0
- ' Input_var = 1
- ' Call Select_input()
- 'End If
- Call Button_test
- Loop
- End
- '///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 'Funkcja do sprawdzania, czy zostal nacisniety przycisk
- Sub Button_test()
- Encoder_A = 0
- Encoder_B = 0
- Button = 0
- If switch = 0 Then Call Selection
- End Sub
- '///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 'Funkcja do zmiany ustawien Bass Treble Middle itp.
- Sub Change_Settings()
- If Button = 1 Then
- Count = 0
- If Press_button > 8 Then
- Press_button = 1 'Po dotarciu na koniec, nacisnij klawisz resetowania
- End If
- End If
- Select Case Press_button 'Przy pewnym stanie opcji wywolywania klawiatury
- Case 1 : Call Volume
- Case 2 : Call Select_input
- Case 3 : Call Inputgain
- Case 4 : Call Bass
- Case 5 : Call Middle_tones
- Case 6 : Call High_tones
- Case 7 : Call Balance_right
- Case 8 : Call Balance_left
- End Select
- Button = 0 'Zresetuj przycisk wyboru
- Waitms 80
- End Sub
- '///////////////////////////////////////////////////////////////////////////////
- 'Funkcja wspólna dla wszystkich ustawien
- Sub Setting_function()
- If Encoder_A = 1 Then 'Sprawdz enkoder
- If Functional_value < Limit_value_max Then 'Zapobiegaj przepelnieniu
- Functional_value = Functional_value + 1 'Zwieksz wartosc funkcji o 1
- Call Transfer 'Funkcja do transferu
- End If
- End If
- If Encoder_B = 1 Then
- If Functional_value > Limit_value_min Then
- Functional_value = Functional_value - 1
- Call Transfer
- End If
- End If
- End Sub
- '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 'Funkcja dla multipleksera wejsciowego
- Sub Select_input()
- 'Set In_shift
- If Held_var = 0 Then 'Zapobiec po prostu zmianie wejsc poprzez przytrzymanie klawiszy
- Limit_value_max = 3 'Zapobiegaj przepelnieniu
- Limit_value_min = 0
- Register = &B00000000 'Wybierz rejestry dla multipleksera wejsciowego
- Functional_value = Input_value ' Wartosc funkcji jest przypisana do ustawien wejsc
- Call Setting_function
- Input_value = Functional_value
- Tmpin = Input_value + 1 'Stara zmienna zostanie zastapiona nowa wartoscia
- Cls
- Locate 1 , 6
- Lcd "INPUT"
- Locate 2 , 1
- Select Case Input_value
- Case 3 : Lcd " CD"
- Case 2 : Lcd " FM"
- Case 1 : Lcd " USB DAC"
- Case 0 : Lcd " PHONE"
- End Select
- Waitms 300
- End If
- End Sub
- '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 'Funkcja do ustawiania czulosci wejsciowej
- Sub Inputgain()
- Local Tmpa As Byte
- Limit_value_max = 15 'Ogranicz wzmocnienie wejsciowe do 30 db
- Limit_value_min = 0
- Register = &B00000001 'Wybierz rejestr dla regulacji czulosci
- Functional_value = Input_gain_value 'Wartosci funkcji przypisuje sie wejsciowa wartosc wzmocnienia
- Call Setting_function
- Input_gain_value = Functional_value
- Tmpa = Input_gain_value * 2
- Call Tin(Input_gain_value)
- End Sub
- '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 'Funkcja do zmiany glosnosci
- Sub Volume()
- Local S_1 As String * 7
- Local Vol_value As byte
- Limit_value_max = 49 'volume jest ograniczony do góry
- Limit_value_min = 0
- Register = &B00000010 'Wybierz rejestr dla glosnosci
- Functional_value = Volume_value
- Call Setting_function
- Volume_value = Functional_value
- Select Case Input_value
- Case 3 : S_1 = "CD"
- Case 2 : S_1 = "FM"
- Case 1 : S_1 = "USB DAC"
- Case 0 : S_1 = "PHONE"
- End Select
- Vol_value = Volume_value - 50
- Vol_value = Not Vol_value
- Call Bar_vol(s_1 , Vol_value , 1)
- End Sub
- '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 'Funkcja podnoszenia / obnizania basów
- Sub Bass()
- Local Tmpa As String * 6
- Limit_value_max = 14
- Limit_value_min = 0
- Register = &B00000011 'Wybierz rejestr dla bass
- Functional_value = Bass_tone_value
- Tone1 = 1
- Call Setting_function
- Bass_tone_value = Functional_value
- Call bargraph_settings( "BASS" , Bass_tone_value)
- End Sub
- '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 'Funkcja podnoszenia / opuszczania srodkowych tonow
- Sub Middle_tones()
- Local Tmpa As String * 6
- Limit_value_max = 14
- Limit_value_min = 0
- Register = &B00000100
- Functional_value = Middle_tone_value 'Wybierz rejestr dla tonow srednich
- Tone1 = 1
- Call Setting_function
- Middle_tone_value = Functional_value
- Call bargraph_settings( "MIDDLE" , Middle_tone_value )
- End Sub
- '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 'Funkcja podnoszenia / opuszczania wysokich tonow
- Sub High_tones() 'NOP
- Local Tmpa As String * 6
- Limit_value_max = 14
- Limit_value_min = 0
- Register = &B00000101 'Wybierz rejestr dla tonow wysokich
- Functional_value = Heigh_tone_value
- Tone1 = 1
- Call Setting_function
- Heigh_tone_value = Functional_value
- Call bargraph_settings( "TREBLE" , Heigh_tone_value)
- End Sub
- '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 'Funkcja do regulacji balansu prawego kanalu
- Sub Balance_right()
- Local Tmpa As String * 7
- Limit_value_max = 79 'ograniczyc do -79db
- Limit_value_min = 0
- Register = &B00000110
- Functional_value = Balance_R
- Tone11 = 1
- Call Setting_function
- Balance_R = Functional_value
- Call Bar_Balans( "RIGHT " , Balance_R )
- 'Cls
- ' Locate 1 , 1
- ' Lcd "BALANCE R " '; Tmpin ; " "
- ' Locate 2 , 1
- ' Lcd Balance_R ; " "
- End Sub
- '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 'Funkcja do regulacji balansu lewego kanalu
- Sub Balance_left()
- Local Tmpa As String * 7
- Limit_value_max = 79 'ograniczyc do -79db
- Limit_value_min = 0
- Register = &B00000111
- Functional_value = Balance_L
- Tone11 = 1
- Call Setting_function
- Balance_L = Functional_value
- Call Bar_Balans( "LEFT " , Balance_L )
- ' Cls
- ' Locate 1 , 1
- ' Lcd "BALANCE L " ' ; Tmpin ; " "
- ' Locate 2 , 1
- ' Lcd Balance_L ; " "
- End Sub
- '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 'Funkcja rozpoznawana po nacisnieciu przycisku wyboru
- Sub Selection()
- Button = 1
- Incr Press_button
- Call Change_Settings
- Waitms 200
- End Sub
- '///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 'Funkcja do przesylania danych do TDA
- Sub Transfer()
- Value = Functional_value 'Wartosc funkcji jest zapisywana do zmiennej wyjsciowej 'Led ein
- If Tone1 = 1 Then
- Tone1 = 0
- Select Case Value
- ' Case 0 : Value = 0
- ' Case 1 : Value = 1
- ' Case 2 : Value = 2
- ' Case 3 : Value = 3
- ' Case 4 : Value = 4
- ' Case 5 : Value = 5
- ' Case 6 : Value = 6
- ' Case 7 : Value = 7
- ' Case 8 : Value = 8'15
- ' Case 9 : Value = 9'14
- ' Case 10 : Value = 10'13
- ' Case 11 : Value = 11'12
- ' Case 12 : Value = 12'11
- ' Case 13 : Value = 13'10
- ' Case 14 : Value = 14'9
- ' Case 15 : Value = 15'8
- Case 0 : Value = 0
- Case 1 : Value = 1
- Case 2 : Value = 2
- Case 3 : Value = 3
- Case 4 : Value = 4
- Case 5 : Value = 5
- Case 6 : Value = 6
- Case 7 : Value = 7
- Case 8 : Value = 15
- Case 9 : Value = 14
- Case 10 : Value = 13
- Case 11 : Value = 12
- Case 12 : Value = 11
- Case 13 : Value = 10
- Case 14 : Value = 9
- Case 15 : Value = 8
- End Select
- End If
- I2cstart 'Rozpocznij wysylanie
- If Err = 0 Then
- I2cwbyte Adres_Tda7439 'Wyslij na adres TDA
- If Err = 0 Then
- I2cwbyte Register 'Wybierz rejestr
- I2cwbyte Value 'Zapisz wartosc w rejestrze
- I2cstop ' Stop
- End If
- End If
- Waitms 20
- End Sub
- Sub Tin(byval Tin_val As Byte)
- Cls
- Select Case Tin_val
- Case 0 : Db = " +0db"
- Case 1 : Db = " +2db"
- Case 2 : Db = " +4db"
- Case 3 : Db = " +6db"
- Case 4 : Db = " +8db"
- Case 5 : Db = "+10db"
- Case 6 : Db = "+12db"
- Case 7 : Db = "+14db"
- Case 8 : Db = "+16db"
- Case 9 : Db = "+18db"
- Case 10 : Db = "+20db"
- Case 11 : Db = "+22db"
- Case 12 : Db = "+24db"
- Case 13 : Db = "+26db"
- Case 14 : Db = "+28db"
- Case 15 : Db = "+30db"
- End Select
- Tin_val = Tin_val + 1
- Locate 1 , 1
- Lcd "GAIN IN "
- Locate 1 , 12
- Lcd Db
- Locate 2 , 1
- Lcd Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4)
- Locate 2 , Tin_val
- Lcd Chr(2)
- End Sub
- Sub bargraph_settings(byval Tone As String , Byval Tmp_1 As Byte)
- Cls
- Select Case Tmp_1
- Case 0 : Db = "-14db"
- Case 1 : Db = "-12db"
- Case 2 : Db = "-10db"
- Case 3 : Db = " -8db"
- Case 4 : Db = " -6db"
- Case 5 : Db = " -4db"
- Case 6 : Db = " -2db"
- Case 7 : Db = " -0db"
- Case 8 : Db = " +2db"
- Case 9 : Db = " +4db"
- Case 10 : Db = " +6db"
- Case 11 : Db = " +8db"
- Case 12 : Db = "+10db"
- Case 13 : Db = "+12db"
- Case 14 : Db = "+14db"
- End Select
- Tmp_2 = Tmp_1 + 1
- Locate 1 , 1
- Lcd Tone ; " "
- Locate 1 , 11
- Lcd Db
- Locate 2 , 1
- Lcd Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(1) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4)
- Locate 2 , Tmp_2
- If Tmp_2 = 8 Then
- Lcd Chr(3)
- Else
- Lcd Chr(2)
- End If
- End Sub
- Sub Bar_Balans(byval Tone11 As String , Byval Tmp_11 As Byte)
- Cls
- Select Case Tmp_11
- Case 0 : Db = "-100%"
- Case 1 : Db = "-94%"
- Case 2 : Db = "-88%"
- Case 3 : Db = "-82%"
- Case 4 : Db = "-76%"
- Case 5 : Db = "-64%"
- Case 6 : Db = "-58%"
- Case 7 : Db = "-50%"
- Case 8 : Db = "-42%"
- Case 9 : Db = "-38%"
- Case 10 : Db = "-32%"
- Case 11 : Db = "-26%"
- Case 12 : Db = "-18%"
- Case 13 : Db = "-10%"
- Case 14 : Db = "-0%"
- End Select
- Tmp_2 = Tmp_11 + 1
- Locate 1 , 1
- Lcd Tone11 ; " "
- Locate 1 , 11
- Lcd Db
- Locate 2 , 1
- Lcd Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4)
- Locate 2 , tmp_2
- ' If Tmp_2 = 8 Then
- ' Lcd Chr(3)
- ' Else
- Lcd Chr(2)
- 'End If
- end sub
- Sub Bar_vol(byval Vol_out As String , Byval Vol_val As single , Byval Sel As Byte)
- Local Tt As Single
- Cls
- If Sel = 1 Then
- Tt = Vol_val / 3
- Tmp_2 = Tt
- Locate 1 , 1
- Lcd Vol_out ; " " '; Tmpin
- Locate 1 , 11
- If Vol_val < 10 Then Lcd " "
- Lcd " -" ; Vol_val ; "db"
- End If
- If Sel = 2 Then
- Tmp_2 = Vol_val + 1
- Locate 1 , 1
- Lcd Vol_out
- Locate 1 , 11
- If Vol_val < 10 Then Lcd " "
- Lcd " " ; Vol_val ; "db"
- End If
- '--------------------------------------------------------------------------------------------------------------------------------------------------------------------
- If vol_val = 0 then
- Call mute() 'moje mute
- End if
- '--------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Locate 2 , 1
- Lcd Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4) ; Chr(4)
- Locate 2 , Tmp_2
- Lcd Chr(2)
- End Sub
- End
- Sub mute()
- Adres_Tda7439 = &H88
- Register = &B00000000
- Call Transfer
- End sub
- Int0_isr:
- Disable Int0
- If Pind.3 = 0 Then
- Count = 0
- If Press_button = 1 Or Press_button = 2 Then
- Encoder_A = 1
- Encoder_B = 0
- Else
- Encoder_A = 0
- Encoder_B = 1
- End If
- Button = 0
- Held_var = 0
- Call Setting_function
- Call Change_Settings
- Else
- Count = 0
- If Press_button = 1 Or Press_button = 2 Then
- Encoder_A = 0
- Encoder_B = 1
- Else
- Encoder_A = 1
- Encoder_B = 0
- End If
- Button = 0
- Held_var = 0
- Call Setting_function
- Call Change_Settings
- End If
- Gifr = 64
- Enable Int0
- Return