讨论一下KeilC51中printf库函数如何与串口中断共存

[复制链接]
jack.king 发表于 2009-9-21 11:37 | 显示全部楼层
LZ大侠我看过你曾经写过一段程序发现有部分判断不出来啊!
若汉字的内码为0xd000就判断不出来了。
  if(sucWord[0] > 0x80 && sucWord[1] > 0x80)
           {   //if HZ
        LCD_GetHZDot(sucWord[0],sucWord[1],ucHzDot);        //获取汉字的点 阵
                ucX = ucCharRow*2;
                ucY = ucCharCol*8;
                for(uci = 0; uci<2; uci++)
                {
                 for(ucj =0;ucj<16; ucj++)
                 {
                 i0 = disp_data[ii];
         lcd_row_col_data(ucX,ucY,i0);
                 ii++;
                 ucY++;
                 }
                 ucX++;
                 ucY -= 16;
                }
       }
      else
      {   //if english
        LCD_GetEnglishCharDot(sucWord[1],ucHzDot);
               ucX = ucCharRow*2;
                ucY = ucCharCol*8;
                for(uci = 0; uci<2; uci++)
                {
                 for(ucj =0;ucj<8; ucj++)
                 {
                 i0 = disp_data[ii];
         lcd_row_col_data(ucX,ucY,i0);
                 ii++;
                 ucY++;
                 }
                 ucX++;
                 ucY -= 8;
                }
      }
 楼主| 古道热肠 发表于 2009-9-21 13:19 | 显示全部楼层
GB2312字库区大于A0,位大于A0,楼上的内码是GB16830还是什么码?要扩充的.
jack.king 发表于 2009-9-21 14:03 | 显示全部楼层
我在用你的这个函数时候发现有部分汉字不能显示例如“旋”字不知道为什么在keil把它的机器码认为是0xd0000。不知道为什么keil为什么这样认为还有几个汉字也跟标准的机器内码不同
mohanwei 发表于 2009-9-21 15:23 | 显示全部楼层
搜索“keil 0xFD”你就知道这个经典的发现了N年,至今尚未解决的错误了……
mohanwei 发表于 2009-9-21 15:26 | 显示全部楼层
“旋”字的内码:0xD0FD,但是FD被Keil干掉了……
你下载个补丁搞一下就行了。
jack.king 发表于 2009-10-9 13:38 | 显示全部楼层
呵呵!谢谢LS热心的帮助 玩了10多天刚刚才回到公司呵呵!
pengluer 发表于 2009-10-9 20:59 | 显示全部楼层
zhugjbest 发表于 2009-10-10 21:35 | 显示全部楼层
重定向没有这么复杂的
sunocean 发表于 2011-12-22 23:50 | 显示全部楼层
纠结了一天了,多亏了21ic
ayb_ice 发表于 2011-12-23 08:41 | 显示全部楼层
自己写putchar函数即可
cecwxf 发表于 2012-2-20 19:12 | 显示全部楼层
xm_smallp 发表于 2012-2-22 12:40 | 显示全部楼层
:)学习了
zhanxiage110 发表于 2012-4-9 23:22 | 显示全部楼层
恍然大悟,
bush55555 发表于 2012-6-13 22:51 | 显示全部楼层
很有帮助
zxcmcu 发表于 2012-11-25 14:42 | 显示全部楼层
3楼的兄弟 Uart0_Send_Ready的初始值不是1,怎么就可以发送了呢??
datouyuan 发表于 2012-11-28 15:04 | 显示全部楼层
标记下,觉得很有帮助
天一001 发表于 2012-11-28 20:44 | 显示全部楼层
菜鸟来学习啦,正在找串口打印:D
zhang7676050 发表于 2012-12-5 15:25 | 显示全部楼层
再学习下
wsnsyy 发表于 2013-2-25 14:56 | 显示全部楼层
都是大牛,新手學習了
wsnsyy 发表于 2013-2-25 15:11 | 显示全部楼层
while(!TI) TI=0;不是死循環嗎
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部