请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS570LC4357 您好!
我有两个问题:
第一个:我尝试使用不同的 DLC 发送 CAN 消息。 我实现了2个函数来读取和更新 DLC。
但我不知道我必须使用哪一个 CMD。 有人能告诉我、IF2CMD/IF1CMD-value 是如何构建的。
第二个问题:可以使用"Halgogen safeTI Halcogen-CSP"或我的两个工具进行 Unittest
已实现的功能
void CAN_UpdateDLC (canBASE-t * P_Node、UINT32 P_MessageBox、UINT8 P_Length){
while (((P_Node->IF1STAT & 0x80U)=0x80U);
P_Node->IF1MCTL &=0xFFFFFFF0;//清除消息框的实际配置长度
P_Node->IF1MCTL |=(uint32) P_Length;
P_Node->IF1CMD =(uint8) 0xF8U;
P_Node->IF1NO =(uint8) P_MessageBox;
/**-等待数据被复制到 IF1中*/
while (((P_Node->IF1STAT & 0x80U)=0x80U);
}
UINT8 CAN_GetDLC (canBASE-t * P_Node、UINT32 P_MessageBox){
uint8大小;
while ((P_Node->IF2STAT & 0x80U)=0x80U)
{
}
P_Node->IF2CMD = 0x20U;
/**-将数据复制到 IF2中*/
P_Node->IF2NO =(uint8) P_MessageBox;
/**-等待数据被复制到 IF2中*/
while ((P_Node->IF2STAT & 0x80U)=0x80U)
{
} /*等待*/
大小= P_Node->IF2MCTL & 0xFU;
返回大小
;}