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

C字符函数(void)和void函数(void)之间的差异,c,char,void,spi,atmega16,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_SlaveReceiv

在我的论文中,我使用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;
}
void SPI\u SlaveInit(void)
{
/*设置MISO输出,所有其他输入*/

DDR_SPI=(1
SPI\u SlaveReceive
接收到一些东西,因此它将“一些东西”作为
char
返回,因此返回类型。如果将其键入为返回
void
,您将无法获得接收到的值,这将不是很有用


如果它没有返回它接收到的内容,您将如何获得它接收到的内容?

SPI\u SlaveReceive
没有返回任何内容,因此除了
void
之外没有任何返回类型。char SPI\u SlaveReceive(void)在调用时不接受任何内容,并返回一个char。void SPI\u SlaveInit(void)什么都不取,什么都不返回,因为“他们”想要返回一个值?