[problema] matrice 32 x 24 su core 18F4550

Ciao a tutti tempo fa avevo realizzato una matrice 32 x 8 che funzionava e funziona tuttora alla perfezione pilotata da un 16F628

ieri ho appena finito di assemblare un altra matrice di led

32 x 24 ...ma pilotato con un 18F4550 stesso hardware del precedente....con i vari shift register e l'array di darlington sulle colonne...

programmo il 18F4550 con una versione riadattata del vecchio firmware della prima matrice risultato...non funziona un tubo..

naturalmente è impensabile chiedere quale sia il problema da queste poche righe questa è stata solo una introduzione alla mia domanda vera e propria...

durante lo sviluppo della prima matrice (32 x 8 ) avevo scelto come cuore del sistema un 18F2550 ed avevo avuto gli stessi problemi di funzionamento... come soluzione avevo deciso di usare un chip più semplice, che conoscevo meglio , il 16F628 e, guardacaso, tutto andava liscio come l'olio..

la mia domanda è... cosa diavolo ignoro dell'architettura dei chip 18F che non mi permette di far funzionare la matrice di led?!?!

ha differenze sostanziali con la vecchia serie 16F?!

ringrazio ancora una volta tutti e mi scuso per la mia ignoranza in materia...

Contrario

Reply to
Contrario
Loading thread data ...

Non penso di avere la bacchetta magica, ma ricordati di:

1) impostare la giusta modalità di clock 2) DISATTIVARE il set esteso di istruzioni

Che compilatore usi?

Ciao CG

Reply to
CG Audio Laboratories

Se posso...Perchè? Io l'ho attivato e mi riduce abbastanza la dimensione in memoria del mio codice... Non senza qualche inspiegabile errore che ogni tanto mi ritrovo a dover aggirare (nb, non risolvere), ma che ho sempre imputato all'ottimizzatore che azzarda un po' troppo...

Grazie

Pasu

Reply to
Pasu

Contrario ha scritto:

Gli Ad converter sono abilitati di default e devono essere disabilitati. Alcune porte hanno funzioni particolari di default che devono essere reimpostate. Non hai detto quali porte stai usando per gli I/O, ma di solito il primo problema con il quale ci si scontra e' una delle funzionalita' estese della porta in uso. Poi stai usando un chip che ha una periferica Usb ed un oscillatore molto complesso dotato di particolari prestazioni, ma sono sicuro che sai come settarlo. ciao Angelo

Reply to
marcoangelo.r

Ciao... grazie per la risposta in primis e per la pazienza

uso MikroC ... forse il fulcro è proprio il set esteso di istruzioni...

ora leggo sul datasheet che registro devo disattivare per farlo...

grazie mille

Contrario

Reply to
Contrario

Ciao Angelo ti ringrazio per la risposta

sto usando le port B (0-4) per pilotare gli shift register delle righe e la PORTD (0-4) per pilotare gli SR e gli ARRAY di Darlington per le colonne

in effetti il clock è una cosa ke riesco con difficoltà a gestire... ora come ora ho impostato il XTPLL e impostato il divisore del PLL per 5 un delay di 1000 ms è più un meno della durata di un secondo reale

mi rendo conto ke effettivamente non è il chip ideale ...e sono ancora troppo inesperto per riuscire a settarlo correttamente...

provo cmq a controllare i vari settaggi che dovessero essere impostati di default nelle porte che uso

la mia scelta è caduta sul 18F4550 sia perchè li avevo già per un vecchio progetto usb, che per la ram di 1, 5Kb che ha... per gestire un array di 32 x 24 ho bisogno di una quantità di ram smodata.. per le animazioni e tutto il resto

puoi suggerirmi un chip con parecchia ram e flash ma più semplice da gestire nei registri e nelle funzionalità?!

Grazie ancora

Contrario

Reply to
Contrario

Col mikroC devi disattivarlo altrimenti non funziona un bel niente!

Ciao CG

Reply to
CG Audio Laboratories

Già, però è un "safe mode" che almeno in fase di test hardware può aiutare. E' chiaro che già le istruzioni son poche, se poi togliamo anche quelle un po' più risparmiose e ottimizzate le prestazioni calano un bel po'

Che compilatore usi tu?

Ciao CG

Reply to
CG Audio Laboratories

Non fa una piega

Uso l'MCC18, ma parlare di uso è un'esagerazione... L'ho usato "seriamente" per un solo progetto. Quel coso è un colabrodo, tra lui e le ultime versioni di MPlab...

Ciao!

Pasu

Reply to
Pasu

Quoto, ma il problema se ricordo bene è soprattutto con la porta C e gli ultimi della porta B. La scelta dell'OP mi pare non abbia problemi.

P.

Reply to
Pasu

Contrario ha scritto:

Va bene comunque, se hai riscontrato che l'oscillatore funziona e il clock e' quello che vuoi...

Il problema del 4550 e' che ha la ram gestibile con difficolta' maggiore rispetto agli altri, a causa dell'uso previsto per l'usb.

Dai un'occhiata ai 4620/25 o 4520/25 e i rispettivi 28 Pin serie 26/25...

Per il MiKroC non posso aiutarti nello specifico, perche' non lo ho mai usato, ma il tuo problema dovrebbe risolversi impostando i registri delle porte che usi. Guarda nel datasheet relativo al micro che stai usando, troverai alla fine di ogni paragrafo dedicato alla spiegazione delle funzionalita' di ogni porta I/O, un riepilogo dei registri e del loro uso. Dovrebbe essere facile da li' risolvere. ciao Angelo

Reply to
marcoangelo.r

Ho capito... provo immediatamente...

Grazie mille

Contrario

Reply to
Contrario

Ci sto guardando proprio ora... Faccio delle prove..

per il momento ti ringrazio per l'input...

Contrario

Reply to
Contrario

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.