我需要這個代碼轉換:如何使用語義記錄sc_logic值?
bool hw = (gpio_ctrl(idx) >> 5) & 1;
uint8_t cnfg = (gpio_ctrl(idx) >> 3) & 3;
sc_dt::sc_logic oe_n = Log_1; // Default disable
sc_dt::sc_logic od = Log_Z; // Default disable
DEBUG_PRINTF(("GPIO update_ouput: CTRL=0x%x IDX=%d, HW=%d CNFG=%d, OE_N=%d, od=%d\n", gpio_ctrl(idx), idx, hw, cnfg, oe_n, od));
與語義被記錄。
我試圖簡單地這樣做:
SEM_MSG(gpio_output_logic_update, SEM_INFO, "GPIO output logic update", "Control register index", ("value", SEM_ATTR_HEX), "HW (active low)", "Config style", "OE_N", "OD");
// ...
SEM_TRACE(gpio_output_logic_update, source, idx, gpio_ctrl(idx), hw, cnfg, oe_n, od);
但SEM_MSG不會奇蹟般地瞭解sc_logic。
看起來前途無量,但這樣做的問題是,語義解釋焦炭作爲數值,並將其呈現爲(ascii值)。 – GreenAsJade