| | #71 (permalink) Top |
| User Data registr.: 12-04-2006 Residenza: Mondovì
Messaggi: 103
|
Bravo, stai facendo progressi. Cerca quanto prima di passare ai micro della serie Pic18F4xxx che sono un minimo più seri come micro, e sui quali puoi tentare di far girare uno scheduler o quanto meno i SyncTimer. Ed inoltre cerca di capire ed usare i Timer. Scoprirai, se userai un po' più seriamente i microcontrollori, che Timer, SyncTimer e Scheduler sono maledettamente comodi per lavorare alla svelta, una volta studiati e capiti. |
| | |
| | #72 (permalink) Top |
| User Data registr.: 14-05-2005 Residenza: bergamo
Messaggi: 1.278
|
ciao,scusatemi ancora,io vorrei poter leggere il valore dell impulso pwm che arriva dalla mia ricevente e con un pic creare qualcosa...tipo un gioco di luci,un interuttore ecc vi posto questo programmino fatto giusto x farvi vedere....niente di che... volevo sapere se potesse funzionare? uso x prova il pic 16f84a,voglio leggere il valore di trm0 ogli fronte salita e in base al suo valore,faccio fare questo o quest altro char misura; void main() { trisa=0b10000; trisb=0b000000000; portb=0; porta=0; OPTION_REG.F5=1; //TRM0 incrementato da impulso su RA4/T0CKI OPTION_REG.F4=1; //Incremento sul fronte alto OPTION_REG.F1=1; //prescaler su WDT (di conseguenza 1:1 su TRM0) INTCON.F7=0; //global interrupt disabilitati INTCON.F6=0; //Peripheral Interrupt disabilitati INTCON.F5=0; //TMR0 Overflow Interrupt disabilitato TMR0=0; while(1) { if (OPTION_REG.T0SE=1) { misura= TMR0; } if (OPTION_REG.T0SE=0) { TMR0=0; } if(misura>200) { portb.f0=1; }else{ portb.f0=0; } } }
__________________ NUOVO DRONE TAGLIATO AL LASER CO2 https://www.youtube.com/watch?v=cBgCVNyPH5c&t=7s GRUPPO LASER https://www.facebook.com/groups/1880460478909243/ |
| | |
| | #73 (permalink) Top |
| User Data registr.: 14-05-2005 Residenza: bergamo
Messaggi: 1.278
|
scusate,modifico OPTION_REG.F1=1; //prescaler su WDT (di conseguenza 1:1 su TRM0) con OPTION_REG.F1=1; //prescaler 1:8
__________________ NUOVO DRONE TAGLIATO AL LASER CO2 https://www.youtube.com/watch?v=cBgCVNyPH5c&t=7s GRUPPO LASER https://www.facebook.com/groups/1880460478909243/ |
| | |
| | #74 (permalink) Top |
| User Data registr.: 14-05-2005 Residenza: bergamo
Messaggi: 1.278
|
cavolo,non riesco a cavar un ragno dal buco
__________________ NUOVO DRONE TAGLIATO AL LASER CO2 https://www.youtube.com/watch?v=cBgCVNyPH5c&t=7s GRUPPO LASER https://www.facebook.com/groups/1880460478909243/ |
| | |
| | #75 (permalink) Top |
| Rivenditore - B.C.M. Power & Tools Data registr.: 28-09-2004 Residenza: Veroli (Fr)
Messaggi: 2.722
| mmm... ad occhio e croce hai fatto un po di confusione, stai usango OPTION_REG come input per il tuo test, quello è invece un registro che va scritto, non letto..... al limite puoi fare così: attendi che l'input vada alto, ad esempio B0, appena va alto, attivi il contatore timer0, ovviamente prima lo avrai azzerato, quando B0 torna basso leggi il valore di tmr0 e fai i tuoi conti
__________________ www.quattrociocchi.it (aeromodellismo,fotografie,energie,varie ed eventuali..) [Fusione Fredda, come spiegarla a mia nonna] |
| | |
| | #76 (permalink) Top |
| User Data registr.: 14-05-2005 Residenza: bergamo
Messaggi: 1.278
|
grazie x aver risposto usando rb0,devo creare un interrupt? o posso stare nel main?
__________________ NUOVO DRONE TAGLIATO AL LASER CO2 https://www.youtube.com/watch?v=cBgCVNyPH5c&t=7s GRUPPO LASER https://www.facebook.com/groups/1880460478909243/ |
| | |
| | #77 (permalink) Top |
| User Data registr.: 21-01-2004 Residenza: Milano
Messaggi: 989
|
Prima di use l'interrupt, fallo funzionare testando il bit; devi modificare anche il settaggio del timer: tu hai impostato il conteggio del numero di impulsi che arrivano su RB0, non il conteggio del tempo dell'impulso. prova così: Setta il timer con ingresso sul clock interno (T0CS=0) Setta RB0 (o altro pin) in ingresso do{ TMR0 = 0; }while (!RB0); // aspetta che RB0 sia a 1 e tiene TMR0 a 0 while (RB0); // aspetta che RB0 sia a 0 mentre TMR0 conta a = TMR0; // salva il valore raggiunto dal timer Ovviamente non è il sistema più preciso, ma è il più facile; un passo alla volta... Michele
__________________ __________________________________________________ The worst day flying is better than the best day working. |
| | |
| | #78 (permalink) Top |
| User Data registr.: 14-05-2005 Residenza: bergamo
Messaggi: 1.278
|
ciao,grazie x avermi risposto cavolo,non so se ho troppe cose in testa x il lavoro o sono diventato un infermo mentale....non riesco a capire niente x MSchiepp intendi questo x testare il bit? char a; void main() { TRISA=0b00000; TRISB=0b00000001; PORTA=0; PORTB=0; OPTION_REG=0b00000010; do{ TMR0 = 0; }while (!RB0); // aspetta che RB0 sia a 1 e tiene TMR0 a 0 while (RB0); // aspetta che RB0 sia a 0 mentre TMR0 conta a = TMR0; // salva il valore raggiunto dal timer } uso il debugger x controllare se il tmr0 si incrementa,ma non succede nulla
__________________ NUOVO DRONE TAGLIATO AL LASER CO2 https://www.youtube.com/watch?v=cBgCVNyPH5c&t=7s GRUPPO LASER https://www.facebook.com/groups/1880460478909243/ |
| | |
| | #79 (permalink) Top | |
| User Data registr.: 21-01-2004 Residenza: Milano
Messaggi: 989
| Citazione:
Se usi il debugger ad un certo punto devi simulare il pin RB0 al valore 1 (con la funzione 'stimulus' del debugger) altrimenti vedrai il programma girare sempre nel primo ciclo while che tiene sempre il timer a zero... Michele
__________________ __________________________________________________ The worst day flying is better than the best day working. | |
| | |
| | #80 (permalink) Top |
| User Data registr.: 14-05-2005 Residenza: bergamo
Messaggi: 1.278
| si,nel debugger ho inserito e tolto 1 su rb0,ma il trm0 e la variabile -a- stanno sempre a 0.
__________________ 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 |