ST7565控制的12864显示汉字问题

[复制链接]
 楼主| wanyisq 发表于 2015-11-23 15:04 | 显示全部楼层 |阅读模式
请教一下我在使用ST7565控制的12864液晶时,写汉字判断字符串是否写完
  1. while(disp[k] != '\0')
  2. {
  3. for(j=0;j<2;j++)
  4. {
  5. Lcd_SetAddr(page+j,column);
  6. for(i=0;i<16;i++) //写16行
  7. {
  8. LcdWritedata(*disp); /*写数据到LCD,每写完一个8位的数据后列地址自动加1*/
  9. disp++;
  10. }
  11. }
while (*disp!= '\0'){}这个判断怎么也进不去。求解
hbzjt2011 发表于 2015-11-23 15:15 | 显示全部楼层
  1.         /**
  2.           * [url=home.php?mod=space&uid=247401]@brief[/url]  LCD12864 display words.
  3.           * @param  x: row(0~3)  y: line(0~7)  str: the pointer to words
  4.           * @retval None
  5.           */
  6.         void LCD12864_Display_Words(u8 x, u8 y, u8 *str)
  7.         {
  8.                 LCD12864_Write(WRITE_CMD, LCD12864_DDRAM_ADDR[x][y]);
  9.                 while(*str)
  10.                 {
  11.                         LCD12864_Write(WRITE_DAT, *str);
  12.                         str++;
  13.                 }
  14.         }


我是这样用的
dirtwillfly 发表于 2015-11-23 16:25 | 显示全部楼层
楼上给力
angerbird 发表于 2015-11-23 17:34 | 显示全部楼层
这个需要调用汉字库的。。
 楼主| wanyisq 发表于 2015-11-24 08:46 | 显示全部楼层
angerbird 发表于 2015-11-23 17:34
这个需要调用汉字库的。。

我是自己写的字库  这款控制器没有字库
 楼主| wanyisq 发表于 2015-11-24 08:47 | 显示全部楼层

为什么while(*str)进不去呢
hbzjt2011 发表于 2015-11-24 08:51 | 显示全部楼层
wanyisq 发表于 2015-11-24 08:47
为什么while(*str)进不去呢

你str是怎么定义的,如果非空肯定可以进去啊
 楼主| wanyisq 发表于 2015-11-25 08:12 | 显示全部楼层
hbzjt2011 发表于 2015-11-24 08:51
你str是怎么定义的,如果非空肯定可以进去啊

str就是使用的字库数组啊  是非空的
单片机菜菜 发表于 2015-11-28 15:47 | 显示全部楼层
有的字库中是空白字符,你这个判断方式不好
51xlf 发表于 2015-11-30 07:37 | 显示全部楼层
还是写个n在里面。
51xlf 发表于 2015-11-30 07:38 | 显示全部楼层
以前用字符串出错了。
crystal1987 发表于 2015-11-30 11:35 | 显示全部楼层
K的值,有变化么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:--By Dr. Heinz Doofenshmirtz

40

主题

180

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:--By Dr. Heinz Doofenshmirtz

40

主题

180

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部