如题。
我的需求是用printf打印出板卡类型等调试信息。
我知道printf显示字符的用法大概是下面这样:
printf("
the char is %s the chinese is %s
","abcdefg,","中华五千年");
也会把字符放在数组里:
char *BoardType_Display [3]={
"主控板",
"采集板",
"发送板"
}
printf("
the board type is %s
","abcdefg,",BoardType_Display [1]);
上面的例子中我是用数组的下标来对应板卡类型的。实际上板卡类型是用两个字节来表示的,比如0x0302代表采集板,0x0101代表主控板。
那么请问我该怎样把板卡类型和那两个字节对应起来并通过串口打印出来呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
需求就是比如我知道了0X0302,就可以以他为参数打印出采集板这三个字。
我也想过switch case,资源占用没深究过,但是板卡特别多的时候会使调试代码变得很长,看起来很不漂亮。
char *BoardType_Display [board_type_number+2]={
"默认板",
"未定义的板",
"主控板",
"主交叉板",
"单路发送板",
"8路发送板",
"32路发送板",
"8路采集板",
"32路采集板",
"传感器采集板"
};
uint8_t BoardType_Display_table[5][4]={
{0,1,1,1},
{1,2,3,1},
{1,4,5,6},
{1,7,8,1},
{1,9,1,1}
};
然后比如说我得到的板卡类型是0x0302,
我就调用函数:
printf(" 板卡类型是 %s",BoardType_Display[BoardType_Display_table[0x03][0x02]]);
一周热门 更多>