• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

请教一段代码编译的问题 AVR

void int_disp(unsigned int value,unsigned char len,unsigned char DISPX,unsigned char DISPY)
{
   unsigned char array[]={0,0,0,0,0},*p;
   p=array;
   p=p+len;
   *p=value%10+(int)("0");//个
   for(p-=1;p==array;--p)
   {
      value/=10;
      *p=(value%10+(int)("0"));//十,百,千,万
   }
   for(;p==array+len-1;p++)
   {
      if(*p==(int)("0"))
         *p=(int)(" ");
      else
         break;
   }
//   LCD_write_string(DISPX,DISPY,array);    
}
以上这段代码在WINGCC中用-0S编译后,执行时,参数传递不全,len无法传递,用-03编译时,value无法传递,单步运行时,会跳过一些语句.总之就是不正常.
本人初学,刚好手上项目又很急,迫切的希望线上的高手能指点一二.在线QQ:285730977,mail;veloce_fang@sina.com;


全部回复(0)
正序查看
倒序查看
现在还没有回复呢,说说你的想法