打印
[ZLG-ARM]

是不是ZLG_GUI有问题啊,请高手帮我分析一下

[复制链接]
3163|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yanghui os|  楼主 | 2007-8-17 07:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
GUI, lg, ST, tc, FOR
/****************************************************************************
* 名称:GUI_PutChar24_32()
* 功能:显示ASCII码(24*32字体),显示值为'0'-'9'、'.'、'+'、'-'及':'(若为其它值,则显示' ')。
* 入口参数: x        指定显示位置,x坐标
*           y        指定显示位置,y坐标
*           ch        要显示的ASCII码值。
* 出口参数:返回值为1时表示操作成功,为0时表示操作失败。
* 说明:操作失败原因是指定地址超出有效范围。
****************************************************************************/
uint8  GUI_PutChar24_32(uint32 x, uint32 y, uint8 ch)
{  
    uint8   font_dat;
   uint8   i, j;
   TCOLOR  bakc;

   /* 参数过滤 */
   if( x>=(GUI_LCM_XMAX-8) ) return(0);
   if( y>=(GUI_LCM_YMAX-8) ) return(0);
   for(i=0; i<14; i++)
   {  if(FONT24x32_TAB==ch) break;
   }
   ch = i;
    
   for(i=0; i<32; i++)                        // 显示共32行
   {  for(j=0; j<24; j++)                    // 每行共24点
      {  /* 若当前点为0、8、16点,读取点阵数据 */
         if( (j&0x07)==0 ) font_dat = FONT24x32[ch][i*3+j>>3];      
         /* 设置相应的点为color或为back_color */
         if( (font_dat&DCB2HEX_TAB[j])==0 ) GUI_CopyColor(&bakc, back_color);
            else  GUI_CopyColor(&bakc, disp_color);
         GUI_Point(x, y, bakc);       
         x++;
      }
      
      y++;                                    // 指向下一行
      x -= 24;                                // 恢复x值
   }
   
   return(1);
}     
/****************************************************************************
* 名称:GUI_PutString()
* 功能:输出显示字符串(没有自动换行功能)。
* 入口参数: x        指定显示位置,x坐标
*           y        指定显示位置,y坐标
*           str        要显示的ASCII码字符串
* 出口参数:无
* 说明:操作失败原因是指定地址超出有效范围。
****************************************************************************/
void  GUI_PutString2432(uint32 x, uint32 y, char *str)
{  while(1)
   {  if( (*str)=='\0' ) break;
      if( GUI_PutChar24_32(x, y, *str++)==0 ) break;//此行本人改为上面的涵数,原为GUI_PutChar(5*7)的字符涵数.
      x += 24;                                // 下一个字符显示位置,y不变(即不换行)
   }
}


以上程序我用的ZLG的,只改为了一行程序,结果显示不出来数字??改为5*7的字符涵数,能正常输出??
为什么啊,是不是GUI_PutChar24_32这涵数有问题??
小弟先谢谢了

相关帖子

沙发
xxqarm| | 2007-8-17 09:31 | 只看该作者

有点BUG,搜一下贴子

使用特权

评论回复
板凳
yingq5594| | 2007-8-18 11:50 | 只看该作者

re

你可能是没有将zlg_gui配置文件中的24*32字体的使能打开,默认是使用5*7字体,我曾经遇到过此类问题,郁闷了好几天!

使用特权

评论回复
地板
boming| | 2011-9-17 19:38 | 只看该作者
同问,最近在移值,其它的都OK,就是这个不行

使用特权

评论回复
5
linas| | 2011-9-19 17:19 | 只看该作者
:L

使用特权

评论回复
6
amini| | 2011-9-27 10:42 | 只看该作者
结贴了?我还是没明白啊。

使用特权

评论回复
7
coco11| | 2011-10-24 14:21 | 只看该作者
找类似的贴

使用特权

评论回复
8
xuannin| | 2011-10-26 15:19 | 只看该作者
if( (font_dat&DCB2HEX_TAB[j&7])==0 ) GUI_CopyColor(&bakc, back_color);

使用特权

评论回复
9
ty新气象| | 2011-10-27 16:52 | 只看该作者
菜鸟路过学习的

使用特权

评论回复
10
lcj2011| | 2011-11-2 12:02 | 只看该作者
可以用emWIN图形库了~~

使用特权

评论回复
11
snakeemail| | 2011-11-2 20:34 | 只看该作者
zlg网站上没有介绍zlg gui的呀?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

14

帖子

0

粉丝