integer conversion resulted in truncation 是什么意思
#define BEEP GPIO_PIN_7int main(void)
{
..
..
GPIOPinWrite(GPIO_PORTA_BASE,BEEP,~BEEP); //ln89
..
..
GPIOPinWrite(GPIO_PORTA_BASE,BEEP,~BEEP); //ln97
}
编译后出现如下warning:
Messages File Line
Warning: integer conversion resulted in truncation E:\开发板\LM3S8962开发\EasyArm8962(原厂光盘刻录)\DEMO\IAR实验例程\chapter4\4.2_SetPLL\SetPLL.c 89
Warning: integer conversion resulted in truncation E:\开发板\LM3S8962开发\EasyArm8962(原厂光盘刻录)\DEMO\IAR实验例程\chapter4\4.2_SetPLL\SetPLL.c 97
个人判断:
“integer conversion resulted in truncation” 直译为“整数转换导致切断”,
做如下任意修改就不再出现上述警告了,真是怪异
1、将“~BEEP”改为“BEEP”后就没有上述警告了;
这个警告真的没道理呀
环境:keil rvmdk
EasyArm8962 开发板 回复【楼主位】zpyws 单片鸭
-----------------------------------------------------------------------
数据类型不匹配造成,(把大于255的数据传给unsigned char型数据就会出现这样的警告,这是我遇到的) 回复【1楼】gaohaosky
-----------------------------------------------------------------------
正解 ~~谢谢就是这个原因 我也遇到了,高手啊~ gaohaosky 发表于 2011-11-17 18:51 static/image/common/back.gif
回复【楼主位】zpyws 单片鸭
-----------------------------------------------------------------------
请问怎么解决这个问题啊~~un char不止255啊~~ 举个例子:_delay_ms(u16 x)
x=0~65535对的
但是x>65535,比如_delay_ms(900000)就报那个错误:整数转换导致截断 正解 ~~谢谢就是这个原因 char还真是在0-255...
页:
[1]