ヘッダー ファイルで、次のように配列と配列の長さを持つ構造体を宣言します。
typedef struct {
unsigned char *frame;
int length;
} ResponseFrame ;
extern ResponseFrame rf;
私のメインファイルには、次のものがあります。
ResponseFrame rf;
int main(void)
{
while(1) {
if (receive() == 0x01) {
uint8_t val;
rf.length = 6;
for(int i = 0; i < 6; i++){
val = receive();
rf.frame[i] = val;
transmit(val); // LINE 1
}
for (uint8_t i=0; i<rf.length; i++){
transmit(rf.frame[i]); // LINE 2
}
}
}
}
私が受け取っている配列は
{ 00 00 FF 00 FF 00 }
最初の送信は、この受信データで応答します [LINE 1 を参照] 。しかし、グローバル変数 rf.frame を使用して送信しようとすると [LINE 2 を参照]、最初の値が次のように異なります ----
{ 13 00 FF 00 FF 00 }
なぜその最初の初期値はこのように異なるのですか??