在IAR中 编写函数,使用return -1 出现警告,怎么解决

[复制链接]
3034|25
 楼主| 外方爱 发表于 2017-2-6 16:15 | 显示全部楼层 |阅读模式
Warning[Pe068]: integer conversion resulted in a change of sign C:\Users\GYL\Desktop\newKEYcode\USCI.c 125
 楼主| 外方爱 发表于 2017-2-6 16:16 | 显示全部楼层
意思是 整数转换导致符号变化,这是为什么
 楼主| 外方爱 发表于 2017-2-6 16:25 | 显示全部楼层
找到原因了 这样就可以了  return (unsigned char)-2;
dirtwillfly 发表于 2017-2-6 16:52 | 显示全部楼层
看样子你的函数是返回无符号数的
mnynt121 发表于 2017-2-6 21:39 | 显示全部楼层
这个是MDK 的编译器吗?
mnynt121 发表于 2017-2-6 21:40 | 显示全部楼层
先转换为无符号型的,在右移
cool_coder 发表于 2017-2-6 21:55 | 显示全部楼层
编译器设置成了默认无符号8位整型了吧?
w522930954 发表于 2017-2-7 08:25 | 显示全部楼层
你应该写成这样了吧:
unsigned char func()
{
     ...
     return -1;
}
改成char func()
{
};就好了。。
 楼主| 外方爱 发表于 2017-2-7 09:17 | 显示全部楼层
dirtwillfly 发表于 2017-2-6 16:52
看样子你的函数是返回无符号数的

可是函数 定义的是 返回char型的
dirtwillfly 发表于 2017-2-7 09:20 | 显示全部楼层
外方爱 发表于 2017-2-7 09:17
可是函数 定义的是 返回char型的

有些编译器默认会把char作为unsigned char来处理。需要设置一下编译器选项
 楼主| 外方爱 发表于 2017-2-7 09:23 | 显示全部楼层
mnynt121 发表于 2017-2-6 21:39
这个是MDK 的编译器吗?

我不懂MDK啊 ,就用的平常的IAR
 楼主| 外方爱 发表于 2017-2-7 09:23 | 显示全部楼层
w522930954 发表于 2017-2-7 08:25
你应该写成这样了吧:
unsigned char func()
{

并不是,恰恰相反
ctsdswk 发表于 2017-2-7 10:28 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

参与人数 1威望 +4 收起 理由
dirtwillfly + 4 很给力!

查看全部评分

ddllxxrr 发表于 2017-2-7 11:18 | 显示全部楼层
为什么要反回负值。零和1不够用么???
 楼主| 外方爱 发表于 2017-2-8 09:55 | 显示全部楼层
chenci2013 发表于 2017-2-8 22:23 | 显示全部楼层
这个是什么内容返回的错误值?
chenci2013 发表于 2017-2-8 22:29 | 显示全部楼层
串口程序怎么设定的返回值?
ghuca 发表于 2017-2-9 22:08 | 显示全部楼层
看看你返回的数据格式对不对
ghuca 发表于 2017-2-9 22:11 | 显示全部楼层
把USCI.c这个代码粘贴下看看。
 楼主| 外方爱 发表于 2017-2-10 09:23 | 显示全部楼层
ghuca 发表于 2017-2-9 22:11
把USCI.c这个代码粘贴下看看。

不好意思  问题已经解决了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

141

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部