对于我的论文,我使用 ATmega16 通过 SPI 与 MCP2515 通信。当我们在 Atmega16 数据表中检查示例代码以将 SPI 设置为从模式时,我们将获得下一个示例代码。
void SPI_SlaveInit(void)
{
/* Set MISO output, all others input */
DDR_SPI = (1<<DD_MISO);
/* Enable SPI */
SPCR = (1<<SPE);
}
char SPI_SlaveReceive(void)
{
/* Wait for reception complete */
while(!(SPSR & (1<<SPIF)))
;
/* Return data register */
return SPDR;
}
我们不明白他们为什么使用 char SPI_SlaveReceive(void) 而不仅仅是 void SPI_SlaveReceive(void)。有人可以解释一下为什么他们使用 char 而不是 void 吗?有什么区别?我在互联网上找不到很好的解释。