Board logo

标题: 显示乱码问题,请大家指点! [打印本页]

作者: win2000_li    时间: 2011-10-15 16:49     标题: 显示乱码问题,请大家指点!

本帖最后由 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
}
作者: win2000_li    时间: 2011-10-15 21:51

没有办法啊,只有我在加班啊!!命苦啊!




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0