![]() |
|
Citazione:
Ce ne sono 3 modelli e credo siano arrivati ad end of life. Comunque una buona palestra per imparare, visto il debugger. Li usavo per fare del superimpose su del segnale video, lavorando a 50MHz, ma possono andare fino a 100 (in realtà qualcosa di più... ma Chip me lo ha fortemente sconsigliato) |
Citazione:
Michele |
Citazione:
Comunque, quando lo vedi, salutamelo tanto. |
ciao a tutti,pian pianino mi sto leggendo il linguaggio c e contemporaneamente sto leggendo un articolo che spiega alcuni programmi x mikroc so che ci sono mille codici che possono rendere un programma molto piccolo,ma vorrei capire dove sbaglio qua......programma fatto da me void main() { trisb=0b00000011 ; portb=0; while(1) if (portb=0b00000001) {portb=0b10000000 ; } if (portb=0b00000010) {portb=0b01000000 ; } } in pratica con un pic 16f84a con quarzo da 4 mhz ho reso rb0 e rb1 entrate collegate a dei tasti e rb7 e rb8 uscite con dei led io volevo premere rb0 e accendere rb8 fino al rilascio e volevo premere rb1 e accendere rb7 fino al rilascio ma succede che se premo rb0 o rb1 si accende solo rb8......dove sbaglio? |
Prova a riscriverlo così: void main() { trisb=0b00000011 ; portb=0; while(1){ if (portb=0b00000001){ portb=0b10000000 ; } if (portb=0b00000010){ portb=0b01000000 ; } } } mancava la parentesi dopo il while che definisce il blocco di istruzioni da eseguire in loop. Con mikroc quando hai compilato puoi usare la funzione di debug che ti permette di eseguire passo passo il programma vedendo di volta in volta quali istruzioni vengono eseguite e i valori delle variabili e così puoi capire cosa succede e cosa c'è di sbagliato. Michele |
Codice: void main() I confronti si fanno con il ==. L'uguale singolo (=) è una assegnazione. Quindi correggi con if (portb == xxxxxxx) e poi, compito per domani, correggi gli errori che ti ho segnalato. |
Citazione:
|
Anche se non è il massimo... Codice: #define PULSANTE1 0b00000001 |
grazie davide b.,cavolo,è tutto l opposto di quello che ho scritto io,con mikrobasic,bastava un niente a scrivere questo programma,ma con mikroc è tutta un altra storia mi puoi spiegare x favore questi simboli? --if ((portb & PULSANTE1) == PULSANTE1) --portb = portb | LED1 --portb = portb & (~LED1); -- | -- ~ |
| Tutti gli orari sono GMT +2. Adesso sono le 12:40. |
Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2026
www.baronerosso.it - www.toymagazine.it