HAL_CAN_AddTxMessage 发送后CAN盒无法接收

uint8_t i,data_len;

uint32_t id;

uint8_t data[8];

id = (AC_TCU_TICK_PRIORITY << 26) | (AC_TCU_TICK << 16) | (TCU_ADDR << 8) | AC_TCU_ADDR;

for(i = 0;i < 8;i++)

{

data[i] = 0x00;

}

if(gb_tcu_info.tick_count == 0x00)

gb_tcu_info.tick_count = 0x01;

data[0] = 0x00;//接口

data[1] = gb_tcu_info.tick_count++;

data[2] = gb_tcu_info.tick_state;

TxMessage.DLC   = 8;

TxMessage.ExtId = id;

TxMessage.IDE   = CAN_ID_EXT;

TxMessage.RTR   = CAN_RTR_DATA;

    HAL_CAN_AddTxMessage(&hcan1,&TxMessage,data,(uint32_t *)CAN_TX_MAILBOX0);


已邀请:

Rainner - 90后

赞同来自:

如果我有很多条扩展帧数据要发,是不是要在每个发送函数中的HAL_CAN_AddTxMessage前边,配置一下

TxMessage.DLC   = 8;

TxMessage.ExtId = id;

TxMessage.IDE   = CAN_ID_EXT;

TxMessage.RTR   = CAN_RTR_DATA

后,后边加上HAL_CAN_AddTxMessage();才可以将扩展帧给发送出去


any012

赞同来自: 致远

应该只需要配置ExtId和DLC吧。

搭车请教下HAL_CAN_AddTxMessage(&hcan1,&TxMessage,data,(uint32_t *)CAN_TX_MAILBOX0);这个函数最后一个参数是干什么用的?

致远

赞同来自:

最近用了最新版的hal库,这个HAL_CAN_AddTxMessage的最后一个参数不明白要做什么用的?

要回复问题请先登录注册