当前位置: 代码迷 >> 单片机 >> IAR 同一个函数在不同的地方调用,其返回值不一样,该怎么解决
  详细解决方案

IAR 同一个函数在不同的地方调用,其返回值不一样,该怎么解决

热度:165   发布时间:2016-04-28 15:01:20.0
IAR 同一个函数在不同的地方调用,其返回值不一样
开发工具:IAR;芯片:CC2530;代码:
uint8 SpiReadEth(uint8 addr)
{
    uint8 value;
    SCL_L;
    SCL_DELAY;
    CS_L;    
    SCL_DELAY;
    SpiWriteByte(addr);
    value = SpiReadByte();
    SCL_L;
    SCL_DELAY;
    CS_H;
    SCL_DELAY; 
    return value;
}
这是一段读取enc28j60网络芯片的代码,在不同的.C文件中调用这个函数,有的地方会返回正确的值,有的地方就不行。
请问这个是什么问题,是不是什么配置不对,或者是代码写得不够规范,在优化的时候,出问题了?
------解决方案--------------------
似乎看不出问题来,你SDO_READ宏是怎么定义的?
第二种写法更好,就用他好了
  相关解决方案