我通过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读取垃圾。
答案 0 :(得分:0)
您可以从0开始初始化数组,以避免垃圾首先出现。如果你在UART调用后收到垃圾,你可能需要在描述中加入一些代码。
char size_buff[8]={0};
char width_buff[8]={0};
char height_buff[8]={0};
...