文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>IAR下的问题种种

IAR下的问题种种

时间:2010-07-21  来源:ht2411

这几天用IAR写c程序在CC2430上跑,晕死,很多限制,列举几个。看有没有人碰到了解决了的,告诉偶一下啊,不胜感激。
本文出处: http://ht2411.cublog.cn

(1)在子函数中用switch语句不管用。比如我写了这么一个子函数,将if-else换成switch就不能在cc2430上运行了。如果用if-else就可以。真郁闷,没有天理啊。。。。。
void sendData(int type, double data)
{
    int len;
    memset(Txdata,'\0',DATA_SIZE);
   
  /*  switch(type)
    {
    case 1:
      Txdata[0] = '1';
      break;
    case 2:
      Txdata[0] = '2';
      break;
    case 3:
      Txdata[0] = '3';
      break;
    case 4:
      Txdata[0] = '4';
      break;
    default:
      Txdata[0] = '9';    
    }*/
   
    if(type==1)
      Txdata[0] = '1';
    else if(type==2)
      Txdata[0] = '2';
    else if(type==3)
      Txdata[0] = '3';
    else if(type==4)
      Txdata[0] = '4';
    else Txdata[0] = '5';
     
    len = ftos(Txdata+1,data);
    UartTX_Send_String(Txdata,len+1);
}

(2)我在main函数中声明double类型的数据,只能出现4个数字才能显示出来。也就是你可以声明:
double a=1.234, 12.34, 123.4 等等,但是如果你声明1.2345就不行了。晕死。

(3)如果你声明的变量太多了肯定会造成堆栈溢出的,这个时候可以调整IAR的配置。彪悍的配置如:
General Option->Target->Code model选择banked,
General Option->Code bank->Register:0xC7,Bank:0x2900,Bank end:0xffff.
General Option->Stack/Heap->Stack size->IDATA:0xC0,PDATA:0x80,XDATA:0x300, Heap sizes->XDATA:0x00,Far:0x000, Huge:0x000

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载