| | #41 (permalink) Top |
| Rivenditore - B.C.M. Power & Tools Data registr.: 28-09-2004 Residenza: Veroli (Fr)
Messaggi: 2.722
|
__________________ www.quattrociocchi.it (aeromodellismo,fotografie,energie,varie ed eventuali..) [Fusione Fredda, come spiegarla a mia nonna] |
| | |
| | #42 (permalink) Top | |
| User Data registr.: 12-04-2006 Residenza: Mondovì
Messaggi: 103
| 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) | |
| | |
| | #43 (permalink) Top | |
| User Data registr.: 21-01-2004 Residenza: Milano
Messaggi: 989
| Citazione:
Michele
__________________ __________________________________________________ The worst day flying is better than the best day working. | |
| | |
| | #44 (permalink) Top | |
| User Data registr.: 12-04-2006 Residenza: Mondovì
Messaggi: 103
| Citazione:
Comunque, quando lo vedi, salutamelo tanto. | |
| | |
| | #45 (permalink) Top |
| User Data registr.: 14-05-2005 Residenza: bergamo
Messaggi: 1.278
|
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?
__________________ NUOVO DRONE TAGLIATO AL LASER CO2 https://www.youtube.com/watch?v=cBgCVNyPH5c&t=7s GRUPPO LASER https://www.facebook.com/groups/1880460478909243/ |
| | |
| | #46 (permalink) Top |
| User Data registr.: 21-01-2004 Residenza: Milano
Messaggi: 989
|
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
__________________ __________________________________________________ The worst day flying is better than the best day working. |
| | |
| | #47 (permalink) Top |
| User Data registr.: 12-04-2006 Residenza: Mondovì
Messaggi: 103
| Codice: void main()
{
trisb=0b00000011 ;
portb=0;
while(1)
{
if (portb=0b00000001)
{
portb=0b10000000 ;
}
if (portb=0b00000010)
{
portb=0b01000000 ;
}
}
} 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. |
| | |
| | #49 (permalink) Top |
| User Data registr.: 12-04-2006 Residenza: Mondovì
Messaggi: 103
|
Anche se non è il massimo... Codice: #define PULSANTE1 0b00000001
#define PULSANTE2 0b00000010
#define LED1 0b10000000
#define LED2 0b01000000
void main()
{
trisb=0b00000011 ;
portb=0;
while(1)
{
// Poichè il solo bit che mi interessa vado a guardare solo
quello
if ((portb & PULSANTE1) == PULSANTE1)
{
// Questa operazione aritmetica setta il solo bit
// corrispondente a LED1
portb = portb | LED1;
}else
{
// Questa operazione resetta il solo bit
// corrispondente a LED2
portb = portb & (~LED1);
}
// Altro modo di vedere se il pulsante è stato premuto
if ((portb & PULSANTE2) > 0)
{
portb = portb | LED2;
}else
{
portb = portb & (~LED2);
// in pratica, prima inverti L2 e poi fai la AND
}
}
} |
| | |
| | #50 (permalink) Top |
| User Data registr.: 14-05-2005 Residenza: bergamo
Messaggi: 1.278
|
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); -- | -- ~
__________________ NUOVO DRONE TAGLIATO AL LASER CO2 https://www.youtube.com/watch?v=cBgCVNyPH5c&t=7s GRUPPO LASER https://www.facebook.com/groups/1880460478909243/ |
| | |
![]() |
| Bookmarks |
| |
Discussioni simili | ||||
| Discussione | Autore discussione | Forum | Commenti | Ultimo Messaggio |
| modificare linguaggio menù mc3030 | ravenlinux2000 | Radiocomandi | 0 | 24 aprile 07 20:03 |
| info | francescospina | Elimodellismo in Generale | 0 | 26 ottobre 06 11:41 |
| Linguaggio E Versioni Simulatore Reflex Xtr | ctenos | Simulatori | 1 | 30 novembre 05 16:02 |