```cpp const std::string filename = "dbc.dbc"; Libdbc::DbcParser parser; parser.parse_file(filename.c_str()); auto messages = parser.get_messages(); for (int i = 0; i < messages.size(); i++) { auto signals = messages[i].get_signals(); printf("message: %s\n", messages[i].name().c_str()); printf("message.id: %08x\n", messages[i].id() - 0x80000000); for (int j = 0; j < signals.size(); j++) { // start printf("\t signal.start:\t%d\n", signals[j].start_bit); printf("\t signal.name:\t%s\n", signals[j].name.c_str()); printf("\t signal.comment:\t%s\n", signals[j].description.c_str()); } } ``` out ```txt message: xnfdb1 message.id: 80000084 signal.start: 0 signal.name: MCU1_iqRef signal.comment: signal.start: 16 signal.name: MCU1_iqfdb signal.comment: signal.start: 32 signal.name: MCU1_idRef signal.comment: signal.start: 48 signal.name: MCU1_idfdb signal.comment: message: MCU2_STATUS4 message.id: 1cfdd2f0 signal.start: 40 signal.name: MCU2_soft_ver signal.comment: signal.start: 20 signal.name: MCU2_Rotation_Value signal.comment: signal.start: 34 signal.name: MCU2_Rotation_Unit signal.comment: signal.start: 16 signal.name: MCU2_soft_inf signal.comment: signal.start: 12 signal.name: MCU2_Soft_ProtocolTyoe signal.comment: signal.start: 8 signal.name: MCU2_Soft_ProtocolVer signal.comment: ```
Activity
Delay-n-days commentedon May 29, 2024
它的麻烦之处体现在 parser.parse_message(id, data, result_values); 的 result_values ,也没有按照sig排序,需要 打印 结构体 来得到信号的名称