首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

显示乱码问题,请大家指点!

显示乱码问题,请大家指点!

本帖最后由 win2000_li 于 2011-10-15 16:58 编辑

关于显示乱码问题!@!! 最近做了一个小东西,用来显示(段码)三个参数。
交货后发现其中一个显示乱码,按程序应显示:———(三个1)
但是显示为: __ __| __ 多显示了两段。
                        __
在显示数据来源是正确的,因为第一个1和最后一个1是正确的,也是说第二个1的数据肯定也是正确, 问题应该发生在低层驱动那里。 所以我想问,指针变量在访问寄存器时是不是要必须加上volatile修饰符(我的没有加) 以下是我的低层驱动程序!
请大家指点一下。
void LcdPutNum(INT8U character, INT8U digit)
{
INT8U *pLCDWF21 = &LCDWF21;
INT8U ResValue = SetZero;
if (digit > MB_NIE)
return;
if ((MB_ZERO == digit) || (MB_ONE == digit))
{
digit = ClrZero;
}
else
{
digit = (digit - 1) << 1;
}
ResValue = (character & 0xf0) >> 4;
*(pLCDWF21 - LCDWF_HEGF - digit) &= ~MASK_HEGF; // Clears egments HEGF
*(pLCDWF21 - LCDWF_HEGF - digit) |= ResValue; // Writes Segments EGF ResValue = character & 0x0f;
*(pLCDWF21 - LCDWF_DCBA - digit) &= ~MASK_DCBA; // Clears egments DCBA
*(pLCDWF21 - LCDWF_DCBA - digit) |= ResValue; // Writes Segments A
}
没有办法啊,只有我在加班啊!!命苦啊!
返回列表