구조체 및 배열 값 입력 질문드립니다
글쓴이: rider7979 / 작성시간: 목, 2013/04/04 - 6:04오후
안녕하세요
아래와 같이 구조체에 값 입력하구요
구조체를 char 배열에 memcpy로 복사하여 전송하는 간단한 소스입니다
일단 확인해보니 USER_ID나 GPS에 엉뚱한 값이 들어가고 있네요
아주 단순하게 for문으로 값을 입력해준다고 생각하는데
뭐가 틀렸는지 아무리 봐도 모르겠습니다;;;;;
조언 부탁드립니다
아래 INT8U는 unsigned char 입니다
EMG_PACKET PACKET_Creation(void)
{
EMG_PACKET emg_packet;
emg_packet.Entire_Msg_Length = sizeof(emg_packet);
INT8U user[13]={0,1,2,3,4,5,6,7,8,9,0};
//TAG_ID[2];
emg_packet.TAG_ID[0] = 0;
emg_packet.TAG_ID[1] = 1;
//USER_ID[12];
for(int cnt=0;cnt==11;cnt++){
emg_packet.USER_ID[cnt+2] = user[cnt];
}
//GPS_Data[11];
INT8U latitude[5]; INT8U longitude[5];
latitude [0] = 35; latitude [1] = 7; latitude [2] = 3; latitude [3] = 44; latitude [4] = 'N';
longitude [0] = 128; longitude [1] = 58; longitude [2] = 4; longitude [3] = 92; longitude [4] = 'E';
for(int cnt=0;cnt==4;cnt++){
emg_packet.GPS_Data[cnt] = latitude[cnt];
}
for(int cnt=5;cnt==9;cnt++){
emg_packet.GPS_Data[cnt] = longitude[cnt];
}
//Battery;
emg_packet.Battery = 0x63;
BSP_Debug_Put_String("PACKET_Creation\r\n");
return emg_packet;
}
bool Send_Packet(EMG_PACKET emg_packet)
{
//bool send_flag = FALSE;
INT8U data[sizeof(emg_packet)];
memcpy(data, &emg_packet, sizeof(emg_packet));
// int size=0;
BSP_WCDMA_SendCmd((INT8U*)data);
BSP_Debug_Put_String("Send_Packet\r\n");
return TRUE;
}Forums:


...
cnt==4 => cnt<4자답...
다시 자세히 보니...실수한 부분이 많네요.....
해결 했습니다....
답변 주신분 감사합니다
댓글 달기