在LCD上显示十六进制值

0 c

我存储了数据text_buf[4] = {0x1d, 0x72, 0x2f, 0x32}.当我将它发送到LCD上显示时,它会显示一些垃圾.据我所知,LCD只显示字符串,如何显示存储的十六进制值text_buf?这有什么C的例子吗?请告诉我.

lee*_*sei 6

使用snprintf()family将您的text_buf(或任何数据)格式化为char数组并调用LCD的显示例程.

char line[256];
snprintf(line, sizeof(line), "%02x %02x %02x %02x\n", text_buf[0], text_buf[1], text_buf[2], text_buf[3]);
LCD_print(line); // LCD's display routine
Run Code Online (Sandbox Code Playgroud)

参考格式序列.

  • 你"拼错了"`snprintf()`.另外,请不要cplusplus.com.首先是因为它很糟糕,其次是因为这是一个C问题. (3认同)
  • 不幸的是,事实并非如此.我建议你看看[真正的C参考](http://pubs.opengroup.org/onlinepubs/7908799/xsh/sprintf.html). (2认同)