从arduino到raspberry pi的结构中存在错误数据

从arduino到raspberry pi的结构中存在错误数据,arduino,raspberry-pi,raspbian,Arduino,Raspberry Pi,Raspbian,我正试图通过nrf24l01无线电模块将结构从arduino发送到raspberry pi 例如,在arduino一侧: typedef struct{ uint8_t id; }payload; payload pay; pay.id = 8; radio.write(&pay, sizeof(pay)); 然后在覆盆子皮的一面: typedef struct{ uint8_t id; }payload; payload pay; radio.read(&a

我正试图通过nrf24l01无线电模块将结构从arduino发送到raspberry pi

例如,在arduino一侧:

typedef struct{
    uint8_t id;
}payload;

payload pay;

pay.id = 8;

radio.write(&pay, sizeof(pay));
然后在覆盆子皮的一面:

typedef struct{
    uint8_t id;
}payload;

payload pay;

radio.read(&pay, sizeof(pay));

printf("%d",  pay.id);
当我发送一个0到7的id时,它在Pi上显示为fine。如果我发送8,那么Pi显示12。。。等等

我假设这与arduino上的数据表示有关,而Pi arduino是8位,Pi不是,但是我不确定在这种情况下实际发生了什么,需要做什么


Pi正在将Raspian用于其操作系统。

尝试发送和接收pay.id并告诉我们结果。如果我这样做,例如uint16\u t x=11;radio.write&x,sizeofx我在另一边得到15。这很奇怪。。。这里有几对数字,代表发送的内容和接收的内容。。7->7,8->12,9->13,10->15,11->15,12->14,13->15在Arduino和Pi中,结构的大小是多少?两边都一样。2.