char函数(void)和void函数(void)之间的C差异

时间:2016-10-26 07:58:36

标签: c char void spi atmega16

对于我的论文,我使用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吗?有什么不同? 我在网上找不到一个好的解释。

1 个答案:

答案 0 :(得分:1)

SPI_SlaveReceive收到一些东西,所以它将“某事”作为char返回,因此返回类型。如果键入它以返回void,您将无法获得收到的值,这不会非常有用!

如果它没有返回它收到的内容你怎么会得到收到的内容..?