找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1140|回复: 3
收起左侧

单片机+oled显示字符串出现变量空间错误

[复制链接]
ID:901339 发表于 2021-4-12 00:00 | 显示全部楼层 |阅读模式
在OLED显示字符串函数里,传入一个字符数组,单步运行发现while一直在循环,没有检测到字符串结尾,导致显示字符串之后又一直出现乱码。怎么让函数知道运行到了字符串结尾并退出呢?


51hei截图20210412000128.png
51hei截图20210412000114.png
51hei截图20210411235920.png
回复

使用道具 举报

ID:176854 发表于 2021-4-12 08:24 | 显示全部楼层
最简单的方法是在数组最后一位加0

INT8U code oledTable3[] = { 'a', 'b', 'c', 'd', 'e', 0};
回复

使用道具 举报

ID:814525 发表于 2021-4-12 11:33 | 显示全部楼层
INT8U code oledTable3[] = { 'a', 'b', 'c', 'd', 'e'}; 这定义的是字符数组,字符数组不会自动加'\0'。改为字符串数组就可以了 INT8U code oledTable3[] = "abcde";
回复

使用道具 举报

ID:275826 发表于 2021-4-12 11:38 | 显示全部楼层
INT8U code oledTable3[] = {“abcde”};就可以了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表