SPSR中的SPIF位何时会在数据传输后复位 假设
<ion-grid>
<ion-row>
<ion-col col-6 class="hidden-md">
1 of 4
</ion-col>
<ion-col col-6 class="hidden-md">
2 of 4
</ion-col>
</ion-row>
</ion-grid>
传输后SPIF将置位以及如何将此位复位以进行接收。
答案 0 :(得分:1)
使用SPI,您无法选择是发送还是发送,而是同时执行这两项操作。因此无需“重置SPIF进行接收”。我相信在您的循环终止后,SPDR
寄存器中的接收数据可用,但您应该阅读特定AVR的数据表以确保。
以下是您可以用来同时传输和接收的功能:
uint8_t SPITransmit(uint8_t data)
{
SPDR = data;
while(!(SPSR & (1<<SPIF)));
return SPDR;
}