-4
私の論文では、SPIでMCP2515と通信するためにATmega16を使用しています。 Atmega16のデータシートにSPIをスレーブモードとして設定するためのサンプルコードを確認する際には、次のコード例があります。char関数(void)とvoid関数(void)のCの差
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;
}
彼らだけではなく、ボイドSPI_SlaveReceive(無効)の文字SPI_SlaveReceive(ボイド)を使用している理由を私たちは理解していません。 誰かがvoidの代わりにcharを使う理由を説明することができますか?違いはなんですか? 私はインターネット上で良い説明を見つけることができません。
'SPI_SlaveReceive'は何も返さないので、' void'以外の戻り値の型はありません。 –
charの問題点SPI_SlaveReceive(void)は呼び出されたときに何も取得せず、charを返します。 void SPI_SlaveInit(void)は何も返しません。何も返しません。 –
「they」は値を返すためですか? – SingerOfTheFall