标题:
单片机LCD12864字符串问题
[打印本页]
作者:
1372478861
时间:
2022-4-7 19:49
标题:
单片机LCD12864字符串问题
unsigned char code rightString[] = "当前距离为:";
unsigned char code errorString[] = "错误!超出测量距离";
unsigned char *p;
如上定义两个字符串和一个指针
在以下判断中选择让指针指向不同的字符串地址
if((S>=700)||flag==1) //超出测量范围显示“-”
{
flag=0;
p = errorString;}
else
{p = rightString;}
在主程序中向LCD12864传输显示字符
lcd12864_hanzi(p);
以下是函数的定义,可以确定的是LCD12864的驱动函数都没有问题,但就是字符串不显示
void lcd12864_hanzi(unsigned char *s)
{
while(*s)
lcd12864_wdat(*s++);
}
作者:
zhxiufan
时间:
2022-4-8 12:16
12864最多一行只能显示8个汉字,你的字符串里面有一个超了。另外,还需要送显示地址吧,没有看到这个。
作者:
yzwzfyz
时间:
2022-4-8 13:58
你是调用别人的函数来处理【LCD12864字符串】的,所以就必须依据这个函数的要求来。
研究读通函数的定义吧。
例如:沙发提到的【12864最多一行只能显示8个汉字】,普通函数是这样的。
如果:函数能自动换行,就可以显示16个了。
再如果:函数能滚动显示,就可以显示更多个了。
所以,你想用什么函数,就先读通它的输入、输出要求。问题就全OK了。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1