I'm an new user of PEAK-CAN.
When I use PCAN-ISO TP API to send a message,which's configurated correctly,and the CANTP_Initialize function returns PCANTP_ERROR_OK.But CANTP_Write function PCANTP_ERROR_NOT_INITIALIZED!I'm so confused here.
Thasnk you
Best Wishes~
Code: Select all
void CUDSDlg::OnBnClickedButtonBoschTp()
{
TPCANTPMsg MsgTP_READ;
TPCANTPMsg MsgTP_WRITE;
TPCANTPStatus result;
MsgTP_WRITE.SA = 0xFA;
MsgTP_WRITE.TA = 0x00;
MsgTP_WRITE.TA_TYPE = PCANTP_ADDRESSING_PHYSICAL;
MsgTP_WRITE.RA = 0x00;
MsgTP_WRITE.IDTYPE = PCANTP_ID_CAN_29BIT;
MsgTP_WRITE.FORMAT = PCANTP_FORMAT_NORMAL;
MsgTP_WRITE.LEN = 0x02;
MsgTP_WRITE.DATA[0] = 0x10;
MsgTP_WRITE.DATA[1] = 0x81;
MsgTP_WRITE.MSGTYPE = PCANTP_MESSAGE_DIAGNOSTIC;
result = CANTP_Initialize(PCANTP_USBBUS1, PCANTP_BAUD_250K);//Degug Point A: result == 0x00;
if (result != PCANTP_ERROR_OK)
{
MessageBox(L"Initialize Fail.");
return;
}
result = CANTP_Write(PCANTP_USBBUS1, &MsgTP_WRITE);//Degug Point B: result == 0x01; It is contradict with Degug Point A.
if (result != PCANTP_ERROR_OK)
{
CString str;
str.Format(L"Error Code = %d", result);
str += L",Send Failure.";
MessageBox(str);
PostMessage(WM_CLOSE);
}
}