Microchip
直播中

徐丹

7年用户 291经验值
私信 关注
[问答]

隐式有符号到无符号转换

您好,我现在正在使用PIC16F18313,在代码中,我声明了一个变量,它位于我放入的示例代码中,问题是,我收到一个警告:隐式签名到无符号转换,我不知道是什么原因或者如何修复它。关于我的问题:希望你能得到一个很好的回答。谢谢。

回帖(7)

尹星

2020-4-7 14:26:00
我不知道这是否是一个“好”的答案,但它是我唯一得到的:XC8在许多情况下产生这个消息,在那里,它是不应该的。我们还不清楚它为什么这样做(因此我们不知道如何改变编译器来阻止它),这就是为什么编译器默认的警告级别是“0”时,它被指定为“-3”警告的原因。但是MPLAX X最近更改为将编译器的警告级别设置为“-3”,因此您现在得到警告。您可以通过更改MPLAB X项目设置来指定“-2”的警告级别(这是我在历史上推荐的级别)来消除许多经常引起麻烦的警告消息。最有帮助,同时最不分心。选择这个级别意味着你会错过一些有用的警告,但是你也会避免很多噪音。如果这个折衷是可以接受的,那就取决于你。
举报

李维兴

2020-4-7 14:37:22
Unt8It在.lt;Stdit.h & gt文件中提供。
举报

杨玲

2020-4-7 14:45:57
警告是由“i - 1”引起的,这导致一个符号值被用作数组索引。相反,你有一个主要的错误,你的循环试图访问数组中不存在的元素100。所有这些代码都可以用标准库调用替换:不要define uint8_t无符号char,include代替。
举报

王桂香

2020-4-7 14:57:32
谢谢那些有用的信息!我不知道关于i-1中的签名1。关于另一部分……我真的不知道它是如何工作的,用a>=?我必须说CAPTCURIL大小代表100。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分