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){
|
void MySPI_Send(char ByteToSend){
|
||||||
MySPI_Clear_NSS(); // Debut transmission
|
|
||||||
while (!(SPI1->SR & SPI_SR_TXE)){} // Attend que DR soit vide
|
while (!(SPI1->SR & SPI_SR_TXE)){} // Attend que DR soit vide
|
||||||
SPI1->DR = ByteToSend; // On met notre donnée dans DR
|
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
|
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
|
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){
|
char MySPI_Read(void){
|
||||||
MySPI_Clear_NSS(); //Début transmission
|
|
||||||
while (!(SPI1->SR & SPI_SR_TXE)){} // Attend que DR soit vide
|
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
|
while (!(SPI1->SR & SPI_SR_RXNE)) {} // On attend de recevoir dans buffer de reception le byte
|
||||||
MySPI_Set_NSS(); // Fin transmission
|
|
||||||
return SPI1->DR;
|
return SPI1->DR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue