Microchip
登录
直播中
乐延槐
8年用户
174经验值
私信
关注
[问答]
PIC18F46J50无法正常工作
开启该帖子的消息推送
MPLABX
PIC18
大家好,我正在用PIC18F46J50开发一个项目,在XC8出现几个问题之后,我决定在这里询问一下发生了什么。我使用的是Win10、MPLABX v3.6、XC8 v1.42。我需要比较一个指针的值,看看它是否是NULL,它是代码:当它运行时,不工作……它总是执行IF块。我已经用ICD3检查了指针的值,它是NULL,但似乎忽略了它。在程序的这一部分中,唯一可行的方法是在指针中添加一个强制转换:在没有强制转换的情况下可以正常工作的代码的其他部分中,有许多类似的比较……我真的不知道怎么了!在程序的某些部分中,代码没有像预期的那样工作,在调试代码之后,我发现如果块不像预期的那样工作,则大部分比较在&&和|||中,所以我添加了一个括号,然后开始工作,一些示例:出什么事了…在这个程序中,我写了5000多行,再加上另外3000个库(u***、plib),与那些工作良好的库相比,还有几百个,或者如果,如果,.,等等,但是在某些部分相同的表达式不能正常工作,并且在调试会话出现类似这样的问题之后…再说一遍,在USB总线停止工作的时候,经过两天的调试,我发现没有一条代码出错(如果我删除了一些函数,并且程序的大小很小,它又开始工作),解决方案N将编译器版本从XC8 1.37更改为XC8 1.42,此后,USB不再出现问题。在过去的10年里,我一直在和微芯片C编译器打交道,这种事情发生在我参与过的每个项目中。那么,有人能给我一些启示吗?我做错什么了吗?还是编译器满是虫子?我不知道还有什么要考虑的。谢谢。
回帖
(12)
陈晨
2019-11-7 13:10:55
Res. Name的定义是什么?你重新定义NULL了吗?
Res. Name的定义是什么?你重新定义NULL了吗?
举报
李翰肃
2019-11-7 13:22:53
He:RES.NEY是Stult:NULL在CONSULL文件中的y.NULL.H中定义为:
He:RES.NEY是Stult:NULL在CONSULL文件中的y.NULL.H中定义为:
举报
李天竹
2019-11-7 13:41:06
如果我没记错的话,==比amp;=具有更高的优先级,所以这里确实需要括号:至于Name和NULL,我建议您发布反汇编,以便我们能够看到它实际在做什么。
如果我没记错的话,==比amp;=具有更高的优先级,所以这里确实需要括号:至于Name和NULL,我建议您发布反汇编,以便我们能够看到它实际在做什么。
举报
杨玲
2019-11-7 13:54:46
如果你期望它的行为不同于它,那么你应该检查C运算符优先级表。
如果你期望它的行为不同于它,那么你应该检查C运算符优先级表。
举报
更多回帖
rotate(-90deg);
回复
相关问答
MPLABX
PIC18
PIC18F46J50
主要特性是什么?
2021-05-25
1261
PIC18F46J50
具有哪些特性参数应用?
2021-05-25
2758
内核或外设库与
PIC18F46J50
器件不匹配
2020-03-12
1868
读取时的
PIC18F46J50
I2C问题
2020-04-20
1277
pic18f26j50
二极管保护的最大电流是多少?
2019-08-20
1203
PIC18F46J50
I2C不能使用SSPxIF来检测字节传输完成
2018-12-24
2497
如何让plib和xc8一起使用pps?
2019-09-25
1944
PIC18F46J50
来自RA1和RA2的奇数输出
2019-05-10
1558
PIC18F46
K40全局变量问题
2020-04-21
1175
为什么8位开发板不支持
PIC18F
系列?
2019-10-28
1350
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分