打印
[AVR单片机]

求助:icc转avrstudio的问题

[复制链接]
1002|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wddlmc|  楼主 | 2014-5-27 19:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
同一个液晶显示字符串的程序:
void LCD_ShowString(uchar x,uchar y,uint For_color,uint Bk_color,char *p)
{         
   while(*p!='\0')
   {      
     LCD_ShowChar(x,y,For_color,Bk_color,*p);
     x+=8;
     p++;
   }
}
用iccavr编程,结果显示没有问题,但用avrstudio则出现问题,比如在程序中写:
LCD_ShowString(10,10,0,0xffff,“123”);
用avrstudio调试的时候就发现,*p并不是如期望的分别显示49,50,51然后结束,而是始终显示等于26,并且永远不会结束。
请问这是什么原因呢?

相关帖子

沙发
wddlmc|  楼主 | 2014-5-27 20:54 | 只看该作者
貌似找到问题了!!
程序中有一个大数组,原先用iccavr的时候只是用 const char去定义……
而avrstudio中的大数据存储和iccavr不太一样……

现在重新按照avrstudio中大数据存储的方式修改了一下,就没问题了。

请问这种现象是为什么呢?

使用特权

评论回复
板凳
airwill| | 2014-5-28 23:04 | 只看该作者
不奇怪, 编译器不同. 可能对某些关键词的解释不同, 而内存分配和组织也会有不同.

使用特权

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

本版积分规则

3

主题

19

帖子

0

粉丝