完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一个经过彻底测试的老C项目,它是在MpLab 8.7中为PIC24FJ256GA106使用C30编译器构建的,现在我想使用最新的XC16编译器在最新的MpLabX中继续这个项目。我已经完成了对MPLABX的导入,结果很好。选择了新的XC16编译器,修复了路径并确保设置都是相同的。这个项目现在没有警告和错误,而且在很大程度上是有效的。主回路运行,中断射击,但我有工作串行通信,但是…本项目使用PIC的PMP与同一板上的Zylog芯片进行通信,代码使用微芯片提供的外围库(PIC24/dsPIC外围库v2.00-Windows)中的PMP方法:www.微芯片。com/mplab/compilers当我通过PIC的PMP调用以前工作的(C30)方法来设置Zylog芯片时,PIC完全锁定,大概在PLIB内部的某个无限循环中。我现在完全不知道可能出了什么问题。如果我使用MPLABX与C30,它工作完美。切换到XC16,具有相同的设置,并在PMPMistRead()内部锁定。它开始感觉像是XC16外围库中的一个bug,但我确信一定在某种程度上已经测试过了,这让我对可能遗漏的内容摸不着头脑。在从C30到XC16的移植中,有没有其他人有类似的问题?或者我有什么新的想法可以解决?
|
|
相关推荐
1个回答
|
|
您好,我想完整地提供了外围库的源代码。您激活优化了吗?如果您认为问题出在哪里,那么可能需要重新编译库以便能够调试它。我认为PLIB中存在这样的问题似乎不太可能,因为它们很长一段时间都没有被触及……PMP是一个需要设置的复杂外围设备,因为所有信号都可以被选为肯定的或否定的。我猜XC16生成的代码与C30不同,并且XC16生成的代码现在违反了您的系统的某些定时,而XC16生成的代码没有使用C30(软件延迟、等待状态数量不足)。
|
|
|
|
只有小组成员才能发言,加入小组>>
5016 浏览 9 评论
1923 浏览 8 评论
1864 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3078 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2149 浏览 5 评论
585浏览 1评论
452浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
482浏览 0评论
379浏览 0评论
IPECMD命令烧录AVR128DA48芯片,报找不到芯片错误
864浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-24 03:22 , Processed in 1.067718 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191