我对AVR中的SPI有一些疑问(atmega 8)。 我想传输字节0xfe, 但功能看起来像这样:
void sendDataSpi(char data )
这是否意味着我必须将我的intiger(十六进制值)转换为char然后发送 或者我可以直接发送十六进制如下:
sendDataSpi(0xfe);
它应该有效吗? 在此先感谢您的帮助。
答案 0 :(得分:3)
您正在混淆价值的表示和身份。
因此,如果您发送0xFE
,则不要发送十六进制。
0xFE
和-2
或254
的转换发生在编译器中。就我们在此处看到的而言,它们是相同的(取决于您的平台上是否char
已签名或未签名)。
所以是的,当然,它会像你一样工作。