- 🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用
- 🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】
- 🍅 玩转CANoe,博客目录大全,点击跳转👉
🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅- 🍅 KB 编号: KB0021838
- 🍅 发布日期: 2025-06-04
- 🍅 阅读量: 747
- 🍅 文章由AI自动生成,来源: https://support.vector.com/kb?id=kb_search&spa=1&query=KB0021838
🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅 🍅

目录
- [📙 如何获取CAN报文和AUTOSAR PDU包含的所有信号名称](#📙 如何获取CAN报文和AUTOSAR PDU包含的所有信号名称)
-
-
-
- 对于CAN报文:
- [对于AUTOSAR PDU:](#对于AUTOSAR PDU:)
-
-
📙 如何获取CAN报文和AUTOSAR PDU包含的所有信号名称
对于CAN报文:
CANoe从14版本开始,支持CAPL函数 getSignalName,此函数的第二个参数是start bit,可以利用CAN报文长度*8得出bit总数,然后按照bit数进行遍历,来获取所有的信号名称,如下所示CAPL代码。
capl
void getMessageAllSignal(char msgName[])
{
message * msg;
char sig_name[20];
int i;
int length;
msg.id = getMessageID(msgName);
length = DBLookup(msg).dlc *8; //total bit length
for(i=0;i<length;i++)
{
strncpy(sig_name,getSignalName(msg,i),elcount(sig_name));
if(strlen(sig_name)) //Is the string of signal name empty?
{
write("i = %3d, name = %s",i,sig_name);
}
}
}
对于AUTOSAR PDU:
类似的,函数getSignalName的语法2可以支持AUTOSAR PDU,因此也适用于获取AUTOSAR PDU所包含的所有信号。

- 🚩要有最朴素的生活,最遥远的梦想,即使明天天寒地冻,路遥马亡!
- 🚩如果这篇博客对你有帮助,请 "点赞" "评论""收藏" 一键三连 哦!
📎 本文 PDF 原文: KB0021838_如何获取CAN报文和AUTOSAR_PDU包含的所有信号名称.pdf
