Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

come inviare dati col bus SPI

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] come inviare dati col bus SPI

Messaggioda Foto Utenteguidonetto » 13 feb 2013, 23:54

Ciao, vi chiedo ancora informazioni, vorrei scrivere (inviare) la parola: ciao nella memoria esterna che usa il bus SPI, poi leggerla nel PIC, dove si accendera un led per avvisarmi che la letture è stata fatta ( ci penso io a questa parte del codice). Tutto questo è un esempio per fare pratica con l' invio e ricezione dei dati.
Grazie

Scrivo parte del codice:

Codice: Seleziona tutto
#include <p18cxxx.h> //pic18f4550
#include <spi.h>


#pragma config FOSC = HS        //OSC = HS Impostato per lavorare ad alta frequenza
#pragma config WDT = OFF        //WDT = OFF Disabilitato il Watchdog Timer
#pragma config LVP = OFF        //LVT = OFF Disabilitato programmazione LVT
#pragma config PBADEN = OFF     //PBADEN = OFF Disabilitato gli ingrassi analogici

unsigned int i ;

unsigned char sync_mode=0;
unsigned char bus_mode=0;
unsigned char smp_phase=0;

unsigned char SPI_Send [] = "ciao"; //definisco l'array

void main (void) {

ADCON1 = 0xFF;  // Disabilito gli ingressi analogici

//Imposto PORTA tutti ingrrssi tranne RA5(SS)
LATA = 0x00;
TRISA = 0b11011111;


//Imposto PORTB tutti ingrrssi RB0(SDI), tranne RB1(SCK)
LATB = 0x00;
TRISB = 0b11111101;

//Imposto PORTC tutti ingressi tranne RC7(SDO)
LATC = 0x00;
TRISC = 0b01111111;

//Imposto PORTD tutti ingressi tranne RD0(uscita)
LATD = 0x00;
TRISD = 0b11111110;

//Imposto PORTE tutti ingrrssi
LATE = 0x00;
TRISE = 0xFF;

INTCON2bits.RBPU = 0; //Abilita i resistori di pull-up sulla PORTB

//Configuro il modulo SPI
sync_mode = SPI_FOSC_16 ;
bus_mode = MODE_00;
smp_phase = SMPEND;
OpenSPI(sync_mode,bus_mode,smp_phase );

//OpenSPI(SPI_FOSC_16, MODE_00, SMPEND);  //Si puo anche scrivere cosi.




CloseSPI();
while (1) { //Ciclo infinito
     
}
}//main

 
Avatar utente
Foto Utenteguidonetto
13 1 5
Frequentatore
Frequentatore
 
Messaggi: 124
Iscritto il: 8 mag 2011, 21:08

0
voti

[2] Re: come inviare dati col bus SPI

Messaggioda Foto Utentesimo85 » 16 feb 2013, 16:29

guidonetto ha scritto:vorrei scrivere (inviare) la parola

Tutto quello che devi fare, a parte configurare la periferica, è scrivere nel registro / buffer interno.

Senza sapere di quale PIC si tratta non posso dire quale è, ad ogni modo sul datasheet c'è scritto.
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59


Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti