Driver SPI v3
This commit is contained in:
parent
c241703a6f
commit
deaa776d14
1 changed files with 1 additions and 5 deletions
|
|
@ -31,20 +31,16 @@ void MySPI_Init(SPI_TypeDef * SPI){
|
|||
}
|
||||
|
||||
void MySPI_Send(char ByteToSend){
|
||||
MySPI_Clear_NSS(); // Debut transmission
|
||||
while (!(SPI1->SR & SPI_SR_TXE)){} // Attend que DR soit vide
|
||||
SPI1->DR = ByteToSend; // On met notre donnée dans DR
|
||||
while (!(SPI1->SR & SPI_SR_RXNE)){} // Attente de réception du byte poubelle sur MISO
|
||||
char poubelle = SPI1->DR; // Je pense qu'on pourrait clear RXNE a la place : SPI1->SR &=~ SPI_SR_RXNE
|
||||
MySPI_Set_NSS(); // Fin transmission
|
||||
}
|
||||
|
||||
char MySPI_Read(void){
|
||||
MySPI_Clear_NSS(); //Début transmission
|
||||
while (!(SPI1->SR & SPI_SR_TXE)){} // Attend que DR soit vide
|
||||
SPI1->DR = 0x00; // Pour trasmettre la clock
|
||||
MySPI_Send(0x00); // Pour trasmettre la clock
|
||||
while (!(SPI1->SR & SPI_SR_RXNE)) {} // On attend de recevoir dans buffer de reception le byte
|
||||
MySPI_Set_NSS(); // Fin transmission
|
||||
return SPI1->DR;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue