Warning [766] FER039.C; 38. degenerate signed comparison
Warning [766] FER039.C; 38. degenerate signed comparison
Warning [1090] FER039.C; 32. variable "_year" is not used
zjswuyunbo 发表于 2022-7-1 10:11
sizeof(unsignd short),看一下这个类型是不是16位
datouyuan 发表于 2022-6-30 15:02
我用PICC9.83编译你的代码,二者都可以编译通过,并且编译结果(分析汇编代码)是正确的。
用unsigned cha ...
xiaoyuxinke 发表于 2022-6-30 21:24
你只是定义一个变量的东东,这个变量定义不能用8位变量,不然只能小于255,也可以用unsigned int 定义一个变量
hym8085hym 发表于 2022-7-2 10:39
我发现PICC编译器,运算的数据是可以用16位或浮点数,比较数据大小却只能是8位,是这样的吗?我是新手。
hym8085hym 发表于 2022-7-2 10:42
我的意思是我发现PICC编译器,能运算浮点数和16位数据,比较数据却只能8位。是不是设置有问题
datouyuan 发表于 2022-6-30 15:02
我用PICC9.83编译你的代码,二者都可以编译通过,并且编译结果(分析汇编代码)是正确的。
用unsigned cha ...
datouyuan 发表于 2022-7-2 10:54
有点烦了。
出现问题,竟然怀疑编译器有问题,而不怀疑自己的代码。
你这新手太牛逼了。
Y_G_G 发表于 2022-7-2 15:56
PIC16F676只有64个字节的RAM,比传统8051的128个字节还少
而且,PIC16F676只有8级的硬件堆栈,不知道你对硬件 ...
hym8085hym 发表于 2022-7-7 10:19
我之前是用汇编的。想学习C语言,实际上这个程序我定义的RAM不多,提示是不够用。就是不明白C语言的程序 ...
hym8085hym 发表于 2022-7-7 10:19
我之前是用汇编的。想学习C语言,实际上这个程序我定义的RAM不多,提示是不够用。就是不明白C语言的程序 ...
这代码太多问题了。
1.不要大量使用volatile 绝对定位变量。
2.能用自动变量就不要用全局变量。
3.中断服务中使用函数。
4.多处代码逻辑混乱。
5.picc的特有语法使用错误。你这代码功能我猜测是2位数码管显示,只需要标准C语言就能完成,完全不需要用到picc的特有语法。虽然你没定义几个变量,因语法出错,编译提示定义的变量超出了极限。
楼主应要花几天学习下C语言基础。
Y_G_G 发表于 2022-7-7 10:40
你用汇编,就更应该知道RAM和堆栈了,特别是PIC这种使用硬件堆栈的单片机
8级硬件堆栈在汇编上还行,但到了 ...
hym8085hym 发表于 2022-7-7 11:07
之前用汇编,所以内存我控制的很严格;中断里面用到的RAM是不能被优化,所以需要固定地址;我发现又奇怪 ...
Y_G_G 发表于 2022-7-7 12:00
我用的是XC8编译器,没有用过PICC
这个单片机只有8级硬件堆栈,中断的话,PC程序计数器用两个,那就只剩下6 ...
hym8085hym 发表于 2022-7-7 12:30
我后续用你的编译器试试。谢谢您的回复。
hym8085hym 发表于 2022-7-7 12:30
我后续用你的编译器试试。谢谢您的回复。
hym8085hym 发表于 2022-7-7 11:07
之前用汇编,所以内存我控制的很严格;中断里面用到的RAM是不能被优化,所以需要固定地址;我发现又奇怪 ...
datouyuan 发表于 2022-7-8 10:49
楼主还是在怀疑编译器。
都已经多次指出是楼主代码问题,和编译器无关。
liu1337 发表于 2022-7-9 11:20
定义的unsighed int 最大就是255吧,你超过了当然要出错了。如果担心这个问题直接定义Long int
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |