Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Circuiti Elettronici


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 14 ottobre 06, 09:14   #1 (permalink)  Top
simone76
Guest
 
Messaggi: n/a
Aiuto PIC

Cerco qualcuno che sappia dirmi perchè non riesco a far funzionare portA come ingresso in un 16F628. Linguaggio C. Se si fa avanti qualcuno, poi gli spiego tutto....

  Rispondi citando
Vecchio 14 ottobre 06, 09:19   #2 (permalink)  Top
User
 
L'avatar di MSchiepp
 
Data registr.: 21-01-2004
Residenza: Milano
Messaggi: 989
Citazione:
Originalmente inviato da simone76
Se si fa avanti qualcuno, poi gli spiego tutto....

Proviamo... dimmi qual'è il problema

Michele
__________________
__________________________________________________
The worst day flying is better than the best day working.
MSchiepp non è collegato   Rispondi citando
Vecchio 14 ottobre 06, 09:32   #3 (permalink)  Top
simone76
Guest
 
Messaggi: n/a
grazie

non ho molta esperienza con i circuiti programmabili, ma mi sono finalmente deciso a giocare un po' con i PIC e sfruttare così la scheda che ho comprato un paio di anni fa, che funge anche da scheda sperimentale con alcuni led e pulsanti (scheda Velleman VM-110 col suo programmatore PicProg2006). Come linguaggio, per fretta piu' che altro, uso il C (compilatore mikroC http://www.mikroelektronika.co.yu/). Il mio problema è banale: ho capito come fare alcune cose carine, riesco a mandare in oputput, ma non riesco a far funzionare la portA in input. Come PIC uso dei 16f628. Ti esemplifico il problema, per indagare meglio ho scritto il programmino di prova incentrato sul problema in oggetto:

void main()
{
TRISB = 0x00;
PORTB = 0x00;
TRISA = 0x01;
PORTA = 0x00;
while(1)
{
while(PORTA & 0x01)
{
PORTB |= 0x01;
delay_ms(500); // ritardo 500 msec
}
PORTB &= 0x00;
}
}

Per completezza di informazione ti dico che ho i sei led su RB0, RB1, RB2, RB3, RB4,RB5 (uscita=1 => led acceso) ed i quattro pulsanti su RA0, RA1, RA2, RA3 (premuto => ingresso=1, a riposo ingresso=0). Come oscillatore uso il circuito RC interno.
Il programma semplicemente dovrebbe attendere la pressione del primo tasto (RA0), accendendo il led su RB0 (spegnendolo con un piccolo ritardo).
AIUTO
  Rispondi citando
Vecchio 14 ottobre 06, 09:50   #4 (permalink)  Top
User
 
L'avatar di MSchiepp
 
Data registr.: 21-01-2004
Residenza: Milano
Messaggi: 989
Primo controllo: il pin che usi come ingresso deve avere un pull-up verso il positivo (esterno o interno) e lo devi sentire a zero quando chiude verso massa.

Michele
__________________
__________________________________________________
The worst day flying is better than the best day working.
MSchiepp non è collegato   Rispondi citando
Vecchio 14 ottobre 06, 09:59   #5 (permalink)  Top
simone76
Guest
 
Messaggi: n/a
Citazione:
Originalmente inviato da MSchiepp
Primo controllo: il pin che usi come ingresso deve avere un pull-up verso il positivo (esterno o interno) e lo devi sentire a zero quando chiude verso massa.

Michele
ovviamente, questo genere di controllo l'ho fatto... ho misurato la tensione sul pin col tester. sono alcuni giorni che provo!!!!!

Dalle prove che ho fatto ti confermo anche che il programma gira, inoltre ho provato 4-5 chip differenti compreso un 16f627, nuovi.
Ci deve essere un inghippo: forse devo settare da qualche parte la porta come ingresso digitale?
  Rispondi citando
Vecchio 14 ottobre 06, 10:23   #6 (permalink)  Top
simone76
Guest
 
Messaggi: n/a
Citazione:
Originalmente inviato da MSchiepp
Primo controllo: il pin che usi come ingresso deve avere un pull-up verso il positivo (esterno o interno) e lo devi sentire a zero quando chiude verso massa.

Michele

Attenzione: come ho ben specificato, la mia scheda prevede un 1 logico quando il tasto è premuto, altrimenti è a 0. La resistenza sara' pull down...
La scheda è compatibile con i PIC usati, e col tester misuro la giusta tensione sul pin. Escluderei problemi HW.
  Rispondi citando
Vecchio 14 ottobre 06, 10:27   #7 (permalink)  Top
simone76
Guest
 
Messaggi: n/a
Il mattino ha l'oro in bocca

MMmmh..... è proprio vero quel proverbio, con un po' di concentrazione ho risolto!!!!
ho dovuto spegnere il comparatore analogico (CMCON |= 0x07;) che stranamente era ON........ boooh!!!
Mi sapresti dire dove trovare una spigazione di tutte queste gabole? Il datasheet è un po' pesantino, e poi mi farebbe comodo trovare pezzi di codice C.

grazie comunque
  Rispondi citando
Vecchio 14 ottobre 06, 11:59   #8 (permalink)  Top
User
 
L'avatar di MSchiepp
 
Data registr.: 21-01-2004
Residenza: Milano
Messaggi: 989
Bravo, quella era la seconda cosa da fare...
Scusa per il ritardo della risposta, ma ero uscito per un voletto mattutino...
Per le spiegazioni la cosa migliore è proprio il data-sheet: è vero che è un po' voluminoso, ma, a parte piccole differenze, descrive praticamente tutta la famiglia di PIC, quindi studiato uno, imparati tutti.
Per il codice sia sul sito Microchip che su quello del tuo compilatore trovi tantissimi esempi di codice per i2c bus, interfacciamento a display, tecniche di lettura e multiplexing... c'è davvero tanto.
Se poi ti serve qualcosa di specifico, chiedi: in trent'anni di programmazione un po' di cose le ho fatte...

Ciao,

Michele
__________________
__________________________________________________
The worst day flying is better than the best day working.
MSchiepp non è collegato   Rispondi citando
Vecchio 08 novembre 06, 11:29   #9 (permalink)  Top
ady
User
 
Data registr.: 09-02-2005
Residenza: ROMA
Messaggi: 222
scusate l'intrusione

non sò se posso approfittare.
io ho un problema con la scheda easypic3 stò disperatamente tentando di comunicare con il pc via seriale. il test che viene descritto è una sola.
qualcuno sà come risolvere il problema?
ady non è collegato   Rispondi citando
Vecchio 08 novembre 06, 13:01   #10 (permalink)  Top
User
 
L'avatar di MSchiepp
 
Data registr.: 21-01-2004
Residenza: Milano
Messaggi: 989
Citazione:
Originalmente inviato da ady
...non sò se posso approfittare.
Magari con qualche informazione in più...

Michele
__________________
__________________________________________________
The worst day flying is better than the best day working.
MSchiepp non è collegato   Rispondi citando
Rispondi

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Commento
Aiuto Per Il Twister Ccpm Piatto 120 Ho Grossi Grattacapi Per Il Settaggio Urge Aiuto quiquoqua Elimodellismo Principianti 2 01 febbraio 14 22:47
Belt CP / Futaba ff9 settaggi ....Aiuto...Aiuto... lilloone Elimodellismo Principianti 8 09 novembre 07 21:34
Aiuto aiuto... settaggi ff9 / Esky Belt CP lilloone Radiocomandi 8 01 novembre 07 23:31
AIUTO!!! AIUTO!!! AIUTO!!! INTERFERENZE PAUROSE!!!!!! alvaro Elimodellismo in Generale 10 04 ottobre 07 11:36
aiuto! mi serve aiuto per un extra 330s jack-frank Aeromodellismo 3 06 dicembre 06 15:15



Tutti gli orari sono GMT +2. Adesso sono le 03:30.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002