找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1667|回复: 3
打印 上一主题 下一主题
收起左侧

单片机+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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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 单片机教程网

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