关于一个can通信的问题。我有一个电机,像点击发送一条控制指令电机会向我反馈一条转动之前起始位置的信息,告诉告诉当前的位置。但是我想要得到的是电机转动后停止的位置信息,这意味着我需要发送两次同一个位置的控制指令得到停止后的位置信息。但是根据网上can连续发送多条数据的帖子修改了都没有效果,我自己也没有can分析仪。以下是我can发送数据的函数,能帮忙分析一下如何发送多条can数据。还得补充一点,can发送为9字节,接收为6字节
uint8_t CAN_SendMsg(uint32_t id,uint8_t *pMsg,uint8_t len)
{
CAN_TxHeaderTypeDef pHeader;
uint32_t pTxmailbox;
uint8_t result = 0;
HAL_StatusTypeDef CanStatus;
pHeader.StdId = id;
pHeader.IDE = CAN_ID_STD;
pHeader.RTR = CAN_RTR_DATA;
pHeader.DLC = len>8?8:len;
pHeader.TransmitGlobalTime = DISABLE;
CanStatus = HAL_CAN_AddTxMessage(&hcan, &pHeader, pMsg, &pTxmailbox);
if(CanStatus != HAL_OK)
{
result = 1;
}
HAL_Delay(1);
CanStatus = HAL_CAN_AddTxMessage(&hcan, &pHeader, pMsg, &pTxmailbox);
if(CanStatus != HAL_OK)
{
result = 2;
}
return result;
}