/** * @file uds_user.c * @author Ethan.Tao (tzj0429@163.com) * @brief * @version 0.1 * @date 2022-01-05 * * @copyright Copyright (c) 2022 Äþ²¨ÕýÀÊÆû³µÁ㲿¼þÓÐÏÞ¹«Ë¾ * */ #include "uds_user.h" #include "Hal_can.h" #include "cantp.h" void UDS_UserDefInit(UDS_FOR_DTC_Interface_t *dtcforuds_if) { // dtcforuds_if->Enable_Global_Dtcs = NULL; // todo need set dtc interface function ,avoid to reset mcu } extern void CPU_HardReset(void) { NVIC_SystemReset(); } extern void UDS_WriteData(TP_PDU_t *msg, int channel) { CAN_PDU_t msg_tx = {0}; msg_tx.MCAN_ID = msg->arbId; msg_tx.MCAN_DLC = msg->dlc; msg_tx.MCAN_FF = 0; // standard frame msg_tx.MCAN_RTR = 0; // data frame for (int i = 0; i < msg_tx.MCAN_DLC; i++) { msg_tx.MCAN_Data[i] = msg->frame[i]; } CAN_Transimit(&msg_tx); }