por enzinabrado » 02 Dez 2008 14:19
Fala cara, obrigado pela sugestão (mals a demora)... Acontece que eu já comprei o PenBS, estou com ele em mãos e estava tentando conseguir qualquer sinal de vida, mas nada! Normalmente, segundo o manual, quando comunicamos com ele, ele solta ao tal do VER ONLINE e tals, mas não estou conseguindo.
Segui uma sugestão que consegui de um cara aqui num fórum na net, mas está muito zuada e não funciona da mesma maneira. Não sei o que acontece... Queria saber se alguém tem uma sugestão, estou fazendo via SPI. vou colocar código até o momento pois realmente já não sei o que fazer...
// PROTOTIPAGEM DE FUNÇÕES
unsigned char readspi (void);
// DEFINIÇÃO E INICIALIZAÇÃO DAS VARIÁVEIS
#define SPI_CS PORTCbits.RC0 // Habilitador CS da comunicação SPI
//Neste bloco estão definidas as variáveis globais do programa.
unsigned char leitura[50], k;
//Funções
unsigned char readspi (void){
unsigned char i,j,l;
i=0;
j=0;
l=0;
SPI_CS=1; // coloca Chip Enable em nível alto
SSPBUF=0xC0; // envia 11000000 o que inicia uma comunicação de LEITURA
while (!PIR1bits.SSPIF){
i = SSPBUF;
}
i = SSPBUF;
i = i<<3;
i = i&(0xF8);
PIR1bits.SSPIF = 0;
SSPBUF=0x00;
while (!PIR1bits.SSPIF){
j = SSPBUF;
}
j = SSPBUF;
j=j>>5;
j=j&(0x07);
PIR1bits.SSPIF = 0;
SPI_CS=0;
l=i|j;
return (l);
}
// CONFIGURAÇÕES DO PIC
void main(void){
// configura microcontrolador
PORTA=0x00; // limpa porta
PORTB=0x00; // limpa portb
PORTC=0x00; // limpa portc
PORTD=0x00; // limpa PORTD
PORTE=0x00; // limpa porte
LATA=0x00; // limpa porta
LATB=0x00; // limpa portb
LATC=0x00; // limpa portc
LATD=0x00; // limpa PORTD
LATE=0x00; // limpa porte
TRISA=0; // configuração da direção dos pinos de I/O
TRISB=0; // dois pinos para o controle do LCD
TRISC=(0b00010000); // configuração dos pinos para comunicação SPI
TRISD=0; // dados para LCD
TRISE=0;
//configuração do SPI
SSPSTATbits.SMP = 0;
SSPSTATbits.CKE = 1;
SSPCON1 = (0b00100000);
//Inicialização do PENBS
for (k=0; k<50; k++){
leitura[k] = 0;
}
for (k=0; k<50; k++){
leitura[k] = readspi();
}
}
Se alguém fizer idéia, tiver alguma sugestão, eu agradeço. A tato não dispõe de exemplos e eu não acho absolutamente nada na internet.
Obrigado Galera!