Guest User

Untitled

a guest
Feb 20th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.68 KB | None | 0 0
  1. /// INIT
  2.     OpenSPI2(    FRAME_ENABLE_OFF |  ENABLE_SDO_PIN | SPI_MODE8_ON |  SPI_SMP_OFF | SPI_CKE_ON |  SLAVE_ENABLE_OFF |  
  3.               CLK_POL_ACTIVE_HIGH   | MASTER_ENABLE_ON | SEC_PRESCAL_3_1  | PRI_PRESCAL_16_1, SPI_ENABLE            );   // Configurazione periferica SPI interna
  4.  
  5. ///////////////////////////////////////////
  6.  
  7. /// LOOP  
  8.  
  9.      int result;
  10.   // GoMAX1149() ;
  11.       mPORTGClearBits(BIT_9);     // Metto CS a zero
  12.      
  13.      
  14.       ReadSPI2();                  // Svuoto buffer
  15.       putcSPI2(0b10001110);        // Scrivo byte di controllo
  16.       while (mPORTAReadBits(BIT_2)!=00);    // Attendo che il piedino di SSTRB vada a 0 (conversione iniziata)  
  17.       while (mPORTAReadBits(BIT_2)==00);     // Attendo che il piedino di SSTRB vada a 1 (conversione finita)    
  18.      
  19.       ReadSPI2();               // Svuoto buffer, qui è assolutamente obbligatorio sennò il buffer è pieno con
  20.                                 // i dati ricevuti dalla precedente scrittura e si blocca tutto!!!
  21.                                
  22.       putcSPI2(0b00000000);     // Invio dati fittizi per muovere il Clock
  23.       result=getcSPI2();        // Leggo il byte più significativo
  24.       putcSPI2(0b00000000);     // Per due volte
  25.       result=result<<8;         // Compongo il risultato bit a bit  
  26.       result|=getcSPI2();
  27.       mPORTGSetBits(BIT_9);     // Metto CS a uno
  28.      
  29.      
  30.       /*
  31.            FORMATO DATI DI USCITA
  32.            PRIMO BYTE
  33.            0 0 d13 d12 d11 d10 d9 d8
  34.            
  35.            SECONDO BYTE
  36.            d7 d6 d5 d4 d3 d2 d1 d0
  37.      
  38.      
  39.            Quindi messo tutto in un INT (PRIMO BYTE<<8+SECONDO BYTE)  
  40.      
  41.      
  42.       */
Add Comment
Please, Sign In to add comment