PIERIN e MM5450
Ciao a tutti, vorrei riuscire a collegrate Pierin con un Driver led MM5450, prendento spunto da questo articolo http://www.electroyou.it/galaxi93/wiki/impariamo-con-il-pierin-il-bus-spi di Galaxi93 e scopiazzando un po' in giro sorno riuscito a fare questo:
Io scrivendo questo programma avrei voluto che i led collegari al mm5450 lampeggiassero tutti insieme ogni 325ms (65x5), e che i led di PIERIN si accendessero alternativamente quando viene inviato il comando di accensione o spegnimento.
Ma qualcosa non funziona, i led collegati al mm5450 lampeggaino in una strana maniera, avete qualche consiglio? Grazie Ivo
- Codice: Seleziona tutto
void ConfigureOscillator(void)
{
/* FA PARTIRE IL PLL */
OSCTUNEbits.PLLEN = 1;
__delay_ms(20);
}
void InitApp(void)
{
//Configuro le porte D come uscite
TRISD=0;
PORTD=0;
//Pin SPI
TRISC7=0;
TRISB4=0;
PORTBbits.RB4=0;
//Chip select
TRISB0=0;
//Inizializza il modulo MSSP in modalità SPI master:
//invio dati da condizione di riposo
//condizione di riposo a livello basso
//Frequenza = Fosc/64 = 12000kHz/64 = 187.5kHz
SSP1STAT=0b01000000;
SSP1CON1=0b00100010;
}
void main(void)
{
ConfigureOscillator();
InitApp();
while(1)
{
LATDbits.LATD6=1; //segnalo inizio
PORTBbits.RB0=0; //Indica allo slave che i dati in arrivo
SSP1BUF=0b11111111111111111111111111111111111; //Invio
while(!SSP1IF); //Attesa e reset
SSP1IF=0;
PORTBbits.RB0=1; //Fine comunicazione
__delay_ms(65);__delay_ms(65);__delay_ms(65);__delay_ms(65);__delay_ms(65);
LATDbits.LATD6=0; //segnalo fine
LATDbits.LATD7=1; //seganlo inizio
PORTBbits.RB0=0; //Indica allo slave che i dati in arrivo
SSP1BUF=0b10000000000000000000000000000000000; //Invio
while(!SSP1IF); //Attesa e reset
SSP1IF=0;
PORTBbits.RB0=1; //Fine comunicazione
__delay_ms(65);__delay_ms(65);__delay_ms(65);__delay_ms(65);__delay_ms(65);
LATDbits.LATD7=0; //seganlo fine
}
}
Io scrivendo questo programma avrei voluto che i led collegari al mm5450 lampeggiassero tutti insieme ogni 325ms (65x5), e che i led di PIERIN si accendessero alternativamente quando viene inviato il comando di accensione o spegnimento.
Ma qualcosa non funziona, i led collegati al mm5450 lampeggaino in una strana maniera, avete qualche consiglio? Grazie Ivo



