|
本帖最后由 夜猫 于 2013-1-6 20:32 编辑
第一次使用字符串,很多不懂!
函数如下:- void LCMDisplay(unsigned char WhichPosition,unsigned char *StringPointer)
- {
- unsigned char i,temp;;
- for(i=0;i<10;i++)
- {
- if(*StringPointer == '\0') //启始为“1” 字符串结尾以'\0'结尾
- break;
- //wrdata(*StringPointer,LCM_CHK);
-
-
- // LCD_DISP_DATE (WhichPosition,*StringPointer);
- if(*StringPointer>0x2F && *StringPointer<=0x39 ) //为ASCII Z:ASCII码0X5A 米字段只能显示A~Z a~z用A~Z代替
- {//0~9
-
- temp=(*StringPointer-0x30); //ASCII减0x30再查表,表中是从030开始的ASCII表 0~z (0X30~0X5A)
- }
- else if(*StringPointer>0x39 && *StringPointer<=0x7A ) //a : 0X61 z:0x7A 米字段只能显示A~Z a~z用A~Z代替
- {// A~Z
- temp=(*StringPointer-0x37); //ASCII减0x30再查表,表中是从030开始的ASCII表 0~z (0X30~0X5A)
- }
- else if(*StringPointer>0x61 && *StringPointer<=0x7A ) //a : 0X61 z:0x7A 米字段只能显示A~Z a~z用A~Z代替
- {//a~z
- //temp=(*StringPointer-0x61); //ASCII减0x61再查表,表中是从030开始的ASCII表 0~z (0X61~0X7A)
- temp=(*StringPointer-0x57); //ASCII减0x5B再查表(中间有六个符号不能正常显示),表中是从030开始的ASCII表 0~z (0X61~0X7A)
- }
- else
- {
- temp = 36 ; //其他ASCII码 米字段不能正常显示 直接显示空白
- }
- LCD_DISP_DATE (WhichPosition, temp );
- StringPointer++;
- WhichPosition+=2;
- if( WhichPosition < 3 ) WhichPosition = 3;
- }
- }
复制代码 现在我运行 LCMDisplay(FirstLine, " LCD Ready ");
程序在 if(*StringPointer == '\0') //启始为“1” 字符串结尾以'\0'结尾
break;
这一步就跳出来了,不知道哪里出错了 ,*StringPointer的值一直为零 不能正常读出LCMDisplay(FirstLine, " LCD Ready ");中的" LCD Ready "
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|