首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]CodeWarrior警告说possible loss of data

[求助]CodeWarrior警告说possible loss of data

#pragma CODE_SEG NON_BANKED
void interrupt 22 ATD0_Interrupt(void)
{
if(ATD0STAT1_CCF0 & 0)
{
AD_wData0 = ATD0DR0; //Read out the Result Register
//PORTB = (byte)AD_wData0;
SCITx((byte)AD_wData0);
PWMDTY1= AD_wData0*PWMPER1/255;  /*把AD采样的0-FF的范围转换城PWMDUTY的范围*/
}
if(ATD0STAT1_CCF1)
{
AD_wData1=ATD0DR1;
PORTB = (byte)AD_wData1;
PWMPER1= AD_wData1;
}

}
#pragma CODE_SEG DEFAULT_ROM

[此贴子已经被作者于2008-4-22 21:39:40编辑过]

红色字就是警告指向的地方,请问这个是为什么呢?
是因为我再频繁写PWM寄存器吗?
一般情况下,警告如果不多就可以不用管它,
个人BLOG:http://blog.eccn.com/u/107300/index.htm
呵呵~~只是想知道是怎么产生的
一般是数据转换的问题,有可能丢失某些数据位。比如乘除法的溢出,字到字节的转换等等。
海纳百川  有容乃大
还有char类型的数拷贝int型的数,这种情况,注意一点就行了!
个人BLOG:http://blog.eccn.com/u/107300/index.htm
楼上两位说的很对。应该是赋值时数据类型不匹配。
返回列表