野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10254|回复: 3

LCD显示字符串函数代码分析,有一处疑问

[复制链接]
发表于 2018-12-8 23:12:50 | 显示全部楼层 |阅读模式
函数如下:
/**
  * @brief  显示一行字符(英文),若超出液晶宽度,不自动换行。
  * @param  Line: 要显示的行编号LINE(0) - LINE(N)
  * @param  *ptr: 要显示的字符串指针
  * @retval None
  */
void LCD_DisplayStringLine(uint16_t Line, uint8_t *ptr)
{  
  uint16_t refcolumn = 0;
  /* 判断显示位置不能超出液晶的边界 */
  while ((refcolumn < LCD_PIXEL_WIDTH) && ((*ptr != 0) & (((refcolumn + LCD_Currentfonts->Width) & 0xFFFF) >= LCD_Currentfonts->Width)))
  {
    /* 使用LCD显示一个字符 */
    LCD_DisplayChar(Line, refcolumn, *ptr);
    /* 根据字体地址偏移显示的位置 */
    refcolumn += LCD_Currentfonts->Width;
    /* 指向字符串中的下一个字符 */
    ptr++;
  }
}


红色字体部分什么意思,我感觉这个条件是一直成立的啊,不知道处于什么考虑这样写的,我觉得去掉这一句也是可以的。

请高人指点。谢谢。


回复

使用道具 举报

发表于 2018-12-10 09:02:16 | 显示全部楼层
是的,这个地方是一直成立的
回复 支持 反对

使用道具 举报

发表于 2018-12-10 09:30:15 | 显示全部楼层
因为这里代码写得不对
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-10 15:02:53 | 显示全部楼层
flyleaf 发表于 2018-12-10 09:30
因为这里代码写得不对

好的,谢谢解答
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-27 23:01 , Processed in 0.030103 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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