通过声明char数组来读取c中的uart,垃圾

时间:2018-05-10 04:31:38

标签: c arrays uart

我通过Uart阅读和写作,代码运行良好,零垃圾。但我宣布下一个数组:

        char size_buff[8];
        char width_buff[8];
        char height_buff[8];
        char planes_buff[5];
        char bitsperpixel_buff[8];
        char compression_buff[5];
        char sizeimage_buff[8];
        char xpixelsprmeter_buff[5];
        char ypixelsprmeter_buff[5];
        char colorsused_buff[5];
        char colorsimportant_buff[5];

现在我再次阅读Uart,没有做出其他改动,我在阅读中得到了垃圾。作为一个解决方案,我改变了数组的大小,它们保留如下:             char size_buff [10];             ...             char colorsimportant_buff [10];

现在读数正确完成,没有垃圾,但我不知道为什么只是通过改变我没有使用的变量数组的大小使得UART读取垃圾。

1 个答案:

答案 0 :(得分:0)

您可以从0开始初始化数组,以避免垃圾首先出现。如果你在UART调用后收到垃圾,你可能需要在描述中加入一些代码。

  char size_buff[8]={0};
  char width_buff[8]={0};
  char height_buff[8]={0};
  ...