SPI
11 Anni 6 Mesi fa #26
da Mauro Laurenti
Risposta da Mauro Laurenti al topic SPI
Ciao,
nel while non stai facendo un confronto con 0 ma un'assegnazione = e non ==.
inoltre string e' l'inizio dell'array ovvero il puntatore.
Se avessi messo un confronto non avrebbe funzionato nulla.
l'errore ha preservato ancora il funzionamento.
Quindi devi togliere il while perche' i ha il valore giusto per mezzo di strlen.
Saluti,
Mauro
nel while non stai facendo un confronto con 0 ma un'assegnazione = e non ==.
inoltre string e' l'inizio dell'array ovvero il puntatore.
Se avessi messo un confronto non avrebbe funzionato nulla.
l'errore ha preservato ancora il funzionamento.
Quindi devi togliere il while perche' i ha il valore giusto per mezzo di strlen.
Saluti,
Mauro
Ringraziano per il messaggio: Fausto
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Mauro Laurenti
- Moderator
Riduci
Di più
11 Anni 6 Mesi fa #27
da StefA
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Risposta da StefA al topic SPI
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- StefA
- Moderator
Riduci
Di più
- Messaggi: 1222
- Ringraziamenti ricevuti 104
11 Anni 6 Mesi fa #28
da Mauro Laurenti
Risposta da Mauro Laurenti al topic SPI
Si il while richiederebbe anche una negazione per poter funzionare correttamente ma correggendo il while avresti comunque la doppia ricerca. Nel caso specifico o si usa strlen o il while.
Se uno cerca il codice strlen mi aspetto qualcosa molto simile al codice con il while, piu' il return del conteggio.
Saluti,
Mauro
Se uno cerca il codice strlen mi aspetto qualcosa molto simile al codice con il while, piu' il return del conteggio.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
11 Anni 6 Mesi fa #29
da Fausto
Risposta da Fausto al topic SPI
mmmm
ho provato a inserire finalmente le impostazioni per la SPI, ma non mi risponde .
Ho usato sia la libreria sia usando un linguaggio a basso livello.
Grazie anticipato per qualsiasi spunto
int get_ADC(void)
{
int adc=123;
unsigned char RX_data_L;
unsigned char RX_data_H;
/*Activate the Chip select*/
LATBbits.LATB2=1;
/*Clock Phase = 0: the MSB bit is in the data line
only after SS is fault down*/
/*OpenSPI(SPI_FOSC_4,MODE_01,0);*/
SSPSTATbits.SMP=0;
SSPSTATbits.CKE=1;
SSPCON1bits.SSPEN=0b00100000;
/*Activate the Chip select*/
LATBbits.LATB2=0;
//while(!DataRdySPI());
while(!SSPSTATbits.BF)
/*save higest 8 bits data in dummy variable*/
RX_data_H=SSPBUF;
//while(!DataRdySPI());
while(!SSPSTATbits.BF)
/*save lowest 8 bits data in dummy variable*/
RX_data_L=SSPBUF;
LATBbits.LATB2=1;
CloseSPI();
adc =(((int)RX_data_H) <<|RX_data_L;
LATBbits.LATB2=1; //Active SS pin 23
CloseSPI();
return(adc);
ho provato a inserire finalmente le impostazioni per la SPI, ma non mi risponde .
Ho usato sia la libreria sia usando un linguaggio a basso livello.
Grazie anticipato per qualsiasi spunto
int get_ADC(void)
{
int adc=123;
unsigned char RX_data_L;
unsigned char RX_data_H;
/*Activate the Chip select*/
LATBbits.LATB2=1;
/*Clock Phase = 0: the MSB bit is in the data line
only after SS is fault down*/
/*OpenSPI(SPI_FOSC_4,MODE_01,0);*/
SSPSTATbits.SMP=0;
SSPSTATbits.CKE=1;
SSPCON1bits.SSPEN=0b00100000;
/*Activate the Chip select*/
LATBbits.LATB2=0;
//while(!DataRdySPI());
while(!SSPSTATbits.BF)
/*save higest 8 bits data in dummy variable*/
RX_data_H=SSPBUF;
//while(!DataRdySPI());
while(!SSPSTATbits.BF)
/*save lowest 8 bits data in dummy variable*/
RX_data_L=SSPBUF;
LATBbits.LATB2=1;
CloseSPI();
adc =(((int)RX_data_H) <<|RX_data_L;
LATBbits.LATB2=1; //Active SS pin 23
CloseSPI();
return(adc);
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Fausto
- Autore della discussione
- Premium Member
Riduci
Di più
- Messaggi: 143
- Ringraziamenti ricevuti 1
11 Anni 6 Mesi fa #30
da Mauro Laurenti
Risposta da Mauro Laurenti al topic SPI
Ciao Fausto,
non ho visto le impostazioni, ma la cosa da fare con l'SPI e' quella di avere un oscilloscopio tra le mani.
Il protocollo e' molto semplice e un oscilloscopio mostra subito il problema.
Dati in uscita e ingresso.
Se hai problemi puoi sempre controllare le impostazioni pin (I/O).
Saluti,
Mauro
non ho visto le impostazioni, ma la cosa da fare con l'SPI e' quella di avere un oscilloscopio tra le mani.
Il protocollo e' molto semplice e un oscilloscopio mostra subito il problema.
Dati in uscita e ingresso.
Se hai problemi puoi sempre controllare le impostazioni pin (I/O).
Saluti,
Mauro
Ringraziano per il messaggio: Fausto
Si prega Accedi o Crea un account a partecipare alla conversazione.
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.
Login
© LaurTec 2006 - 2024