Micom_Electric/CAN 2010. 10. 15. 11:52
CanBusShield_Skpang.co.uk 에서 제공하는 예제 코드를 분석해 보면
아래 구조체를 사용해서 보내는데,
파악된 정보를 소스 옆에 붙였다.
================
char CanbusClass::ecu_req(unsigned char pid,  char *buffer) 
{
tCAN message;
float engine_data;
int timeout = 0;
char message_ok = 0;
// Prepair message
message.id = PID_REQUEST;         <-------- 전송타입 : 0x7DF
                                                                          CAN ID = 11 bit type(15765-4, chap 6.3)
message.header.rtr = 0;
message.header.length = 8;            <------- 메세지 길이 / 항상 8 (?)
message.data[0] = 0x02;                <------- 0= 싱글프레임, 2= 바이트숫자 (01, pid)
                                                                         N_PCI 정보참조
message.data[1] = 0x01;                <------- MODE $01 을 의미
message.data[2] = pid;                  <------- 요청할 정보의 PID
message.data[3] = 0x00;
message.data[4] = 0x00;
message.data[5] = 0x00;
message.data[6] = 0x00;
message.data[7] = 0x00;

mcp2515_bit_modify(CANCTRL, (1<<REQOP2)|(1<<REQOP1)|(1<<REQOP0), 0);
// SET(LED2_HIGH);
if (mcp2515_send_message(&message)) {
}

================
posted by 털보네i

댓글을 달아 주세요