![]() |
demoboard pic 16f877 e C ultimamente ho preso un paio di chicche! con atmega 32 http://i18.ebayimg.com/03/i/05/fb/48/32_1_b.JPG e con pic 16f877 http://i2.ebayimg.com/03/i/06/3a/de/58_1_b.JPG ho realizzato il fisier programmer, e sto realizzando il programmatore per atmel (scala permettendo!!!!, non me ne volere max, ma se non riesco a scalare correttamente il tuo, mi sa' che faro quello di fiser!!!) dopo aver attrezzato per benino il pc, con i vari sw, decido di partire con lo sviluppo sui pic, visto che gia' ho tutto pronto! apro mplab, creo un nuovo progetto come target 16f877a e inserisco il seguente sorgente: Codice: /*prova*/ e accendere gli 8 led sulla portb dovrei...... :(:wacko: non ne vuole sapere....... |
Citazione:
Aggiungi questa riga: ADCON1 = 0x06; prima dell'assegnamento delle porte e vedrai che migliora! Michele |
premetto che io i pic li programmo i basic...e di C ne so poco.... Citazione:
o che ne so, #include<pic168xxa.h> insomma, dato che usi il 16f877...qualcosa deve cambiare no ? a me sembra che con l'include che gli dai tu puoi programmare i simili del 16f84 o sbaglio ? ps: occhio che negli include ci stanno gli indirizzi fisici delle porte I/O quindi se sbagli quelli... eheh |
Citazione:
in ogni caso doveva darmi problemi solo PORTA e non anche gli altri ! debbo definire qualcosa di particolare?? oggi provo a compilare per il 16f876 e vediamo come si comporta! |
Citazione:
ho controllato pure all' interno dell' header che siano corrette le locazioni delle port e tris ed e' tutto ok!!! |
Sai se il compilatore che usi passa automaticamente tra le 4 pagine della ram ? perchè credo che i registri delle porta PORTA e PORTB e i registri di configurazione delle porte TRISA e TRISB siano su pagine diverse.... il mio compilatore passa automaticamente da un banco all'altro...il tuo non so... ps: se non lo fa automaticamente lo devi fare tu a mano eheh... |
Il codice così com'è funziona senza problemi; il secondo include non serve in quanto la 'include pic.h' serve solo a richiamare il file di include del processore dichiarato in 'configure - select device'. Se hai dubbi puoi aprire la finestra di watch, inserire le porte e simulare il programma in MPLAB e vedrai che i bit delle porte si posizionano correttamente; questo serve a garantire che tutti i settaggi sw siano corretti: se rimuovi l'istruzione ADCON1=6 vedrai che la porta A non risponde più correttamente. Se sul micro reale continua a non funzionare verifica clock e reset. Ciao Michele |
Citazione:
ho verificato che il pin 1 mclr sia a 1, e lo e'!!! l' unica alternativa e' disinstalalre il compilatore e reinstallarlo!!! |
Ciao, ma sul config che tipo di oscillatore hai selezionato ? Spesso dipende dalla incorretta impostazione del config. Saluti Alessandro |
Citazione:
BINGO era impostato XT , che erroneamente avevo capito come quarzo,,,,, controllando sulla demoboard, vi e' un quarzo da 8 mhz, e caricando su epicwin il sw originale mi diceva HS, ho cercato sul datasheet, ed e' indicato XT fino a 4 mhz, dopo HS!!!!!!! CHE PIRLA CHE SONO..... GRAZIE 1000, a te, michele e tutti quelli che ci hanno provato!!!!! |
Tutti gli orari sono GMT +2. Adesso sono le 12:43. |
Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002