打印

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

[复制链接]
1765|25
手机看帖
扫描二维码
随时随地手机跟帖
沙发
外方爱|  楼主 | 2017-2-6 16:16 | 只看该作者
意思是 整数转换导致符号变化,这是为什么

使用特权

评论回复
板凳
外方爱|  楼主 | 2017-2-6 16:25 | 只看该作者
找到原因了 这样就可以了  return (unsigned char)-2;

使用特权

评论回复
地板
dirtwillfly| | 2017-2-6 16:52 | 只看该作者
看样子你的函数是返回无符号数的

使用特权

评论回复
5
mnynt121| | 2017-2-6 21:39 | 只看该作者
这个是MDK 的编译器吗?

使用特权

评论回复
6
mnynt121| | 2017-2-6 21:40 | 只看该作者
先转换为无符号型的,在右移

使用特权

评论回复
7
cool_coder| | 2017-2-6 21:55 | 只看该作者
编译器设置成了默认无符号8位整型了吧?

使用特权

评论回复
8
w522930954| | 2017-2-7 08:25 | 只看该作者
你应该写成这样了吧:
unsigned char func()
{
     ...
     return -1;
}
改成char func()
{
};就好了。。

使用特权

评论回复
9
外方爱|  楼主 | 2017-2-7 09:17 | 只看该作者
dirtwillfly 发表于 2017-2-6 16:52
看样子你的函数是返回无符号数的

可是函数 定义的是 返回char型的

使用特权

评论回复
10
dirtwillfly| | 2017-2-7 09:20 | 只看该作者
外方爱 发表于 2017-2-7 09:17
可是函数 定义的是 返回char型的

有些编译器默认会把char作为unsigned char来处理。需要设置一下编译器选项

使用特权

评论回复
11
外方爱|  楼主 | 2017-2-7 09:23 | 只看该作者
mnynt121 发表于 2017-2-6 21:39
这个是MDK 的编译器吗?

我不懂MDK啊 ,就用的平常的IAR

使用特权

评论回复
12
外方爱|  楼主 | 2017-2-7 09:23 | 只看该作者
w522930954 发表于 2017-2-7 08:25
你应该写成这样了吧:
unsigned char func()
{

并不是,恰恰相反

使用特权

评论回复
13
ctsdswk| | 2017-2-7 10:28 | 只看该作者

使用特权

评论回复
评分
参与人数 1威望 +4 收起 理由
dirtwillfly + 4 很给力!
14
ddllxxrr| | 2017-2-7 11:18 | 只看该作者
为什么要反回负值。零和1不够用么???

使用特权

评论回复
15
外方爱|  楼主 | 2017-2-8 09:55 | 只看该作者

使用特权

评论回复
16
chenci2013| | 2017-2-8 22:23 | 只看该作者
这个是什么内容返回的错误值?

使用特权

评论回复
17
chenci2013| | 2017-2-8 22:29 | 只看该作者
串口程序怎么设定的返回值?

使用特权

评论回复
18
ghuca| | 2017-2-9 22:08 | 只看该作者
看看你返回的数据格式对不对

使用特权

评论回复
19
ghuca| | 2017-2-9 22:11 | 只看该作者
把USCI.c这个代码粘贴下看看。

使用特权

评论回复
20
外方爱|  楼主 | 2017-2-10 09:23 | 只看该作者
ghuca 发表于 2017-2-9 22:11
把USCI.c这个代码粘贴下看看。

不好意思  问题已经解决了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

141

帖子

1

粉丝