标题: 单片机+oled显示字符串出现变量空间错误 [打印本页]

作者: afhyf    时间: 2021-4-12 00:00
标题: 单片机+oled显示字符串出现变量空间错误
在OLED显示字符串函数里,传入一个字符数组,单步运行发现while一直在循环,没有检测到字符串结尾,导致显示字符串之后又一直出现乱码。怎么让函数知道运行到了字符串结尾并退出呢?


51hei截图20210412000128.png (11.97 KB, 下载次数: 35)

51hei截图20210412000128.png

51hei截图20210412000114.png (69.6 KB, 下载次数: 38)

51hei截图20210412000114.png

51hei截图20210411235920.png (68.13 KB, 下载次数: 35)

51hei截图20210411235920.png

作者: jjjjjjir    时间: 2021-4-12 08:24
最简单的方法是在数组最后一位加0

INT8U code oledTable3[] = { 'a', 'b', 'c', 'd', 'e', 0};
作者: 张天师    时间: 2021-4-12 11:33
INT8U code oledTable3[] = { 'a', 'b', 'c', 'd', 'e'}; 这定义的是字符数组,字符数组不会自动加'\0'。改为字符串数组就可以了 INT8U code oledTable3[] = "abcde";
作者: tyrl800    时间: 2021-4-12 11:38
INT8U code oledTable3[] = {“abcde”};就可以了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1