不能在PICC中输入中文。。。。。。

[复制链接]
5449|5
 楼主| bailsfi 发表于 2008-5-26 08:21 | 显示全部楼层 |阅读模式
pic, TE, CD, LCD
我前几天刚用51的做了个240128的液晶屏显示程序,完全可行。可是现在改用16F877A的,发现头文件有的没有,反正问题不小,现在是有很多警告,下面的数组全是警告如下:(我还是头一次看到这种数组,带中文的)<br /><br />typedef&nbsp;struct&nbsp;typFNT_GB16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;汉字字模数据结构<br />&nbsp;{<br />&nbsp;&nbsp;&nbsp;char&nbsp;Index[2];<br />&nbsp;&nbsp;&nbsp;char&nbsp;Msk[32];<br />&nbsp;};<br /><br /><br />bank2&nbsp;struct&nbsp;typFNT_GB16&nbsp;&nbsp;GB_16[]&nbsp;=&nbsp;<br />{&nbsp;&nbsp;<br />&quot;风&quot;,0x00,0x00,0x1F,0xF8,0x10,0x08,0x10,0x48,0x14,0x68,0x12,0x48,0x11,0x48,0x10,0x88,<br />&nbsp;&nbsp;0x10,0x88,0x11,0x48,0x12,0x6A,0x24,0x2A,0x28,0x26,0x40,0x06,0x80,0x02,0x00,0x00,<br /><br />&quot;机&quot;,0x10,0x00,0x10,0xF8,0x10,0x88,0xFE,0x88,0x10,0x88,0x10,0x88,0x38,0x88,0x34,0x88,<br />&nbsp;&nbsp;0x54,0x88,0x50,0x88,0x91,0x08,0x11,0x0A,0x12,0x0A,0x12,0x0A,0x14,0x06,0x10,0x00,<br /><br />&quot;电&quot;,0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,<br />&nbsp;&nbsp;0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x02,0x01,0x02,0x00,0xFE,0x00,0x00,<br /><br />&quot;太&quot;,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x7F,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,<br />&nbsp;&nbsp;0x02,0x80,0x02,0x40,0x04,0x20,0x05,0x10,0x08,0x98,0x10,0xCC,0x20,0x86,0x40,0x04,<br />以下是错误信息:<br /><br />Build&nbsp;C:pic877lcd&nbsp;for&nbsp;device&nbsp;16F877A<br />Using&nbsp;driver&nbsp;C:Program&nbsp;FilesHI-TECH&nbsp;SoftwarePICCstd9.60inpicc.exe<br /><br />Executing:&nbsp;&quot;C:Program&nbsp;FilesHI-TECH&nbsp;SoftwarePICCstd9.60inpicc.exe&quot;&nbsp;-q&nbsp;-g&nbsp;--asmlist&nbsp;--chip=16F877A&nbsp;&quot;--errformat=Error&nbsp;&nbsp;&nbsp;[%n]&nbsp;%f;&nbsp;%l.%c&nbsp;%s&quot;&nbsp;&quot;--msgformat=Advisory[%n]&nbsp;%s&quot;&nbsp;&quot;--warnformat=Warning&nbsp;[%n]&nbsp;%f;&nbsp;%l.%c&nbsp;%s&quot;&nbsp;-P&nbsp;--char=unsigned&nbsp;-C&nbsp;C:pic877lcd.c&nbsp;<br />Warning&nbsp;[340]&nbsp;C:pic877lcd.c;&nbsp;126.1&nbsp;string&nbsp;not&nbsp;terminated&nbsp;by&nbsp;null&nbsp;character.<br />Warning&nbsp;[340]&nbsp;C:pic877lcd.c;&nbsp;129.1&nbsp;string&nbsp;not&nbsp;terminated&nbsp;by&nbsp;null&nbsp;character.<br />Warning&nbsp;[340]&nbsp;C:pic877lcd.c;&nbsp;132.1&nbsp;string&nbsp;not&nbsp;terminated&nbsp;by&nbsp;null&nbsp;character.<br />Warning&nbsp;[340]&nbsp;C:pic877lcd.c;&nbsp;135.1&nbsp;string&nbsp;not&nbsp;terminated&nbsp;by&nbsp;null&nbsp;character.<br />Warning&nbsp;[340]&nbsp;C:pic877lcd.c;&nbsp;138.1&nbsp;string&nbsp;not&nbsp;terminated&nbsp;by&nbsp;null&nbsp;character.<br />Warning&nbsp;[340]&nbsp;C:pic877lcd.c;&nbsp;141.1&nbsp;string&nbsp;not&nbsp;terminated&nbsp;by&nbsp;null&nbsp;character.<br />Warning&nbsp;[340]&nbsp;C:pic877lcd.c;&nbsp;144.1&nbsp;string&nbsp;not&nbsp;terminated&nbsp;by&nbsp;null&nbsp;character.<br />还只是一部份。<br /><br />原在51的头文件:<br /><br />#include&nbsp;&quot;STC12C5410AD.H&quot;<br />#include&nbsp;&quot;absacc.h&quot;<br />#include&nbsp;&quot;stdarg.h&quot;<br />#include&nbsp;&quot;intrins.h&quot;<br />#include&nbsp;&quot;math.h&quot;<br />#include&nbsp;&quot;stdio.h&quot;<br /><br />改为<br /><br />#include&nbsp;&quot;pic.h&quot;<br />//#include&nbsp;&quot;absacc.h&quot;<br />#include&nbsp;&quot;stdarg.h&quot;<br />#include&nbsp;&quot;intrins.h&quot;<br />#include&nbsp;&quot;math.h&quot;<br />#include&nbsp;&quot;stdio.h&quot;&nbsp;&nbsp;&nbsp;反正有好几个没有/。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;dprintf(0,5,&quot;DC:&nbsp;24V&nbsp;&nbsp;&nbsp;&nbsp;P:0000W&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;dprintf(0,6,&quot;I:000A&nbsp;&nbsp;&nbsp;&nbsp;F:50.0Hz&quot;);<br /><br />上面的我的显示时的函数,这里也是有警告&nbsp;&nbsp;&nbsp;如下:<br /><br />Warning&nbsp;[359]&nbsp;C:pic877lcd.c;&nbsp;624.44&nbsp;illegal&nbsp;conversion&nbsp;between&nbsp;pointer&nbsp;types<br />Warning&nbsp;[359]&nbsp;C:pic877lcd.c;&nbsp;625.45&nbsp;illegal&nbsp;conversion&nbsp;between&nbsp;pointer&nbsp;types<br /><br /><br />望高手帮我看看!谢谢,<br /><br /><br /><br />Warning&nbsp;[340]&nbsp;C:pic877lcd.c;&nbsp;138.1&nbsp;string&nbsp;not&nbsp;terminated&nbsp;by&nbsp;null&nbsp;character.<br /><br />这个是说字符串没有以NULL结束,对程序没有什么影响<br /><br />Warning&nbsp;[359]&nbsp;C:pic877lcd.c;&nbsp;625.45&nbsp;illegal&nbsp;conversion&nbsp;between&nbsp;pointer&nbsp;types<br />这个是说指针类型不符合,不知道函数的声明是怎么样的<br /><br /><br /><br /><br />我在定义数组前面加了const,还在涵数定义指针前面也加了,错误少了不少。可是还有数组有汉字那行<br /><br />&quot;风&quot;,0x00,0x00,0x1F,0xF8,0x10,0x08,0x10,0x48,0x14,0x68,0x12,0x48,0x11,0x48,0x10,0x88,<br /><br />只要有汉字的就有警告,估计是PICC不认汉字吧。也可能要加什么头文件,哎,,,搞得很郁闷。我在写51时算法都可以实现,而且程序都写好了,现在都有点想放弃PIC了。<br />望PIC人士出来讲解一下。<br /><br />
 楼主| bailsfi 发表于 2008-5-26 12:05 | 显示全部楼层

光有人看,没有人回吗?

要是张明峰老师在就好了!
zhaoyu2005 发表于 2008-5-27 16:47 | 显示全部楼层

PIC的MPLAB连中文路径都不支持何况是

你这种用法呢(恕在下孤陋寡闻,不知这是什么用法),不过最终是你的程序写的兼容性太差了,比如汉字的点阵数据前边使用拼音或者英文,后面使用//或者、/*&nbsp;*/注释,你到哪个单片机的C环境都能认的
 楼主| bailsfi 发表于 2008-5-28 12:01 | 显示全部楼层

我承认是我的程序写的不好

我承认是我的程序写的不好,但也是搞了好久才搞出来的。现在有另外的想法己经能实现了,但PICC不认中文还是存在的。<br />希望PICC能改进这点。<br /><br />个人观点。。。。。。
xieyuanbin 发表于 2008-5-29 08:35 | 显示全部楼层

不支持双字节是N久头疼的事了。

不知道那些MCHP的程序员是否BS亚洲人?
ocon 发表于 2008-5-30 15:53 | 显示全部楼层

并非完全不认,

void&nbsp;main(){<br />&nbsp;&nbsp;&nbsp;&nbsp;init();&nbsp;//系统初始化<br />&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(1000);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;get_no();<br />&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(3000);<br />&nbsp;&nbsp;&nbsp;&nbsp;get_driver_no();<br />&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(3000);<br />&nbsp;&nbsp;&nbsp;&nbsp;get_date();<br />&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(3000);<br />&nbsp;&nbsp;&nbsp;&nbsp;get_speed();<br />&nbsp;&nbsp;&nbsp;&nbsp;delay_ms(3000);<br />&nbsp;&nbsp;&nbsp;&nbsp;get_record();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;puts(&quot;签名:&quot;);&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;putc(0x0d);<br />&nbsp;&nbsp;&nbsp;&nbsp;putc(0x0d);<br />&nbsp;&nbsp;&nbsp;&nbsp;putc(0x0d);<br />&nbsp;&nbsp;&nbsp;&nbsp;puts(&quot;&nbsp;&nbsp;&nbsp;&nbsp;---打印结束---&quot;);&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;putc(0x0d);<br />&nbsp;&nbsp;&nbsp;&nbsp;putc(0x0d);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(1){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;restart_wdt();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

5

帖子

0

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