【问题标题】:ASCII code for carriage return and line feed in CC中用于回车和换行的ASCII码
【发布时间】:2017-05-10 20:24:15
【问题描述】:

对于回车和换行的 ASCII 码,我使用了 10 和 13,但它们不能正常工作。每个单词后面的两个字符都像奇怪的符号一样打印出来。例如,像:`unsigned char ALERT[7]={'A','L','E','R','T',13,10}; 代码在这里:github.com/aliyah3/IoT/blob/master/Temperature_controller.c

谁能给我一些修复它的建议。

enter image description here

【问题讨论】:

  • 究竟是什么不工作?
  • 你试过'\r''\n'
  • 您的字符串是“ALERT”,但显示屏显示“TEMPERATURE” - 最好发布与结果图像相关的代码。输出是指正好输出 7 个字符还是依赖于 nul 终止 - 你没有?
  • 这是你直接发送到显示器的数据吗?它是一种什么样的显示器?可能是控制光标位置(你试图用 '\r' 和 '\n' 实现的)实际上并不是通过向它发送这样的字符代码来完成的,而是通过发送完全独立的命令来完成的,例如“设置光标位置 X, Y"。如果是这种情况,显示器的字符映射中的 0x0D 和 0x0A 下可能还有一些其他字符,这说明您看到了一些意想不到的东西。
  • @Clifford 代码在这里:github.com/aliyah3/IoT/blob/master/Temperature_controller.c

标签: c arduino arm embedded


【解决方案1】:

试试unsigned char ALERT[]={'A','L','E','R','T','\r','\n','\0'};

【讨论】:

  • @EugeneSh。我确定。看起来他不是空终止字符串,也可能不够大
  • 是的,这是如何使用它的另一个问题。我会做ALERT[]="ALERT\n\r";
  • 如果它们可以互换,为什么要用数值混淆含义?
  • @JohnBollinger 而且,不仅是运行时字符集,还有串口终端上的控制码,因为是Arduino,所以这里可能用到了。
  • 它的TM4C123G微控制器,我试过了:unsigned char TEMP[]={'T','E','M','P','E','R','A', 'T','U','R','E','\r','\n','\0'}; unsigned char ALERT[]={'A','L','E','R','T','\r','\n','\0'};并且只显示第一行。只是“温度”
猜你喜欢
  • 2013-07-05
  • 2012-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多