问题是:用一个spi口(spi1)同时用中断收发数据可以么。怎么操作?因为收发用的是同一个数据寄存器spi.DR。数据不会覆盖么丢数么????void SPI1_EventIRQ_Handler(void)
{
if (SPI_I2S_GetITStatus(SPI1, SPI_I2S_IT_RXNE) == SET)
{
。。。。。。。。。。。。。。
*spi_data_recv_ptr++ = SPI_I2S_ReceiveData(SPI1);
SPI_I2S_SendData(SPI1, *(spi_data_recv_ptr++));
}
还是
void SPI1_EventIRQ_Handler(void)
{
if (SPI_I2S_GetITStatus(SPI1, SPI_I2S_IT_RXNE) == SET)
{
。。。。。。。。。。。。。。
*spi_data_recv_ptr++ = SPI_I2S_ReceiveData(SPI1);
}
else if( SPI_I2S_GetITStatus(SPI1, SPI_I2S_IT_TXE) == SET )
{
SPI_I2S_SendData(SPI1, *(spi_data_recv_ptr++));
}
} |