marius2006 Postat Iulie 7, 2012 Partajează Postat Iulie 7, 2012 Salutare, cine poate sa ma ajute intr-o problema? am un cod sursa facut de danzup de pe forum si nu inteleg o chestie in cod mai exact cand apas butonul + ce subrutine se apeleaza ca sa se schimbe input change 1 ,2 ,3 sau 4. La volum am inteles usor din cod dar la input change nu. Am observat acolo ca am H=1 la incr si H=0 la decr. Nu inteleg cum face legatura apasarea lui + si apasarea lui - cu H. Codul este aici http://www3.zippyshare.com/v/96200818/file.html Multumesc! deci am asa: If Plus = 0 Then Waitms 5 Call Mplus 'button Plus presed End If If Minus = 0 Then Waitms 5 Call Mminus 'button Minus presed ------------------------------------------------------------- apoi in main menu If A = 1 Then Home Upper Lcd " Select Input " Home Lower Lcd " Input " ; C ; " " Waitms 180 End If ------------------------------------------------------------ apoi aici probabil am pentru apasarea butonului - If A = 1 Then H = 0 Call Inpt_chgn Home Lower Lcd " Input " ; C ; " " Waitms 180 End If End Sub ----------------------------------------------------------- aici am pentru + If A = 1 Then H = 1 Call Inpt_chgn Home Lower Lcd " Input " ; C ; " " Waitms 180 End If End Sub ----------------------------------------------------------- apoi se apeleaza Subrutina inpt_chgn Sub Inpt_chgn: Select Case H Case 0 : Decr C If C < 1 Then C = 1 Case 1 : Incr C If C > 4 Then C = 4 End Select Select Case C Case 1 : Mask = &B00000000 Case 2 : Mask = &B00000001 Case 3 : Mask = &B00000010 Case 4 : Mask = &B00000011 End Select Temp = Inp_ut And &B11111100 Inp_ut = Temp Or Mask I2csend &H88 , Inp_ut W = 0 Timer1 = W End Sub ------------------------------------------ Si un exemplu pentru apasarea butonului + (dar in meniul de volum) '-----------Mplus----------------- Sub Mplus: '-------regelz volumul----------------------- If A = 0 Then If Vol_me < 63 Then Incr Vol_me T1 = Vol_me / 3.9375 Bar_len = 16 - Int(t1) I2csend &H88 , Vol_me End If Call Displ End If --------------------------------------------------- Pentru submeniul Volume am inteles cum se realizeaza cresterea sau scaderea vol la apasarea lui + sau - dar la Input change NU. Si la celelalte cum ar fi FADER, BASS , TREBLE este aceasi poveste. Nu inteleg cum se realizeaza procesul de crestere sau scadere a valorilor. Multumesc inca odata! Link spre comentariu
danzup Postat Iulie 9, 2012 Partajează Postat Iulie 9, 2012 Salutare, cine poate sa ma ajute intr-o problema? am un cod sursa facut de danzup de pe forum si nu inteleg o chestie in cod mai exact cand apas butonul + ce subrutine se apeleaza ca sa se schimbe input change 1 ,2 ,3 sau 4. La volum am inteles usor din cod dar la input change nu. Am observat acolo ca am H=1 la incr si H=0 la decr. Nu inteleg cum face legatura apasarea lui + si apasarea lui - cu H. Codul este aici ----------------------------------------------------------- apoi se apeleaza Subrutina inpt_chgn Sub Inpt_chgn: Select Case H Case 0 : Decr C If C < 1 Then C = 1 Case 1 : Incr C If C > 4 Then C = 4 End Select Select Case C Case 1 : Mask = &B00000000 Case 2 : Mask = &B00000001 Case 3 : Mask = &B00000010 Case 4 : Mask = &B00000011 End Select Temp = Inp_ut And &B11111100 Inp_ut = Temp Or Mask I2csend &H88 , Inp_ut W = 0 Timer1 = W End Sub ------------------------------------------ Pentru submeniul Volume am inteles cum se realizeaza cresterea sau scaderea vol la apasarea lui + sau - dar la Input change NU. Si la celelalte cum ar fi FADER, BASS , TREBLE este aceasi poveste. Nu inteleg cum se realizeaza procesul de crestere sau scadere a valorilor. Multumesc inca odata! Foarte simplu : incrementand la apasarea butonului de plus/decrementand la apasarea butonului de minus variabila "C" , care in final corespunde valorii necesare ce trebuie inscrisa pentru selctarea intrarilor de la 1 pana la 4.- variabila "H " da doar sensul modificarii : marire sau micsorare - uite cum e : valoarea se schimba atunci cand se incrementeaza /decrementeaza " C " apoi cu Case/select se alege masca necesara , se aplica masca si dupa cele 2 operatii de AND si OR rezulta in binar exact valoarea pentru selectarea intrarii respective. Nu neg ca se poate rescrie aceasta rutina in alte 10 feluri diferite din care alte 2 le stiu deja . Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum