完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,我在调试我的软件时遇到了麻烦,我想知道如何继续进行:单步中断ICD3硬件调试对我来说从来都不太好,而且晶体振荡器计数的紧密参与使得它变得不容易。这就是为什么我决定模拟这个问题-但模拟器给出了意想不到的结果如下详述。我应该考虑哪些其他调试技术?我在Ubuntu下使用MPLABX 3.30和XC8 1.37为PIC16LF1936开发代码。我将TMR1设置为T1OSC,除以8预分频器,并将ECCP1、CCP4和CCP5设置为与TMR1计数比较并生成中断。使用模拟调试问题,我将时钟刺激应用到RC0(把它应用到T1OSCI没有工作的原因-所以也许这是我工作的第一个bug)。我正在运行一个500kHz的内部振荡器,因此我把它设置为2个周期,低2个周期,高到接近(.)32768Hz。ER比零,但我陷入了之前的模拟部分踢了进来)。所以它们都用56, 106和156的值打断,但不是256(0x0100)。我甚至单步在中断标志上安装了手表,但是当TMR1计时到0x0100时,没有设置任何中断标志。将CCPR1、CCPR4、CCPR5寄存器修改为0x0101,然后遍历代码,直到TMR1时钟切换到0x0101,显示所有3个中断标志在同一步中设置。我很想知道这里出了什么问题——到目前为止,我还看不出我做错了什么。我的论坛登录和M都没有做错。IcROCKM直接登录工作,作为MyMcCug登录请求支持。Paul W.
|
|
相关推荐
4个回答
|
|
保罗,我们看到了这个问题。不幸的是,我们不知道这个问题的根源是什么。(这是一些没有人记得的旧代码。)我们正在调查,但可能会有一段时间。
|
|
|
|
乔治,谢谢你浏览并验证我的观察。这只是一个个人项目——我的职业并不依赖于它。然而,当我选择Microchip进行工作时,我需要知道它是有效的。
|
|
|
|
保罗,谢谢你报告这个错误。我们找到了根源并修正了它。由于我们已经在MPLAX X V3.35的代码冻结中,修复将在MPLAB X V3.40中可用。
|
|
|
|
嗨,保罗,不幸的是,它发生在所有TMR1L&GTMR1H翻转值,它会发生在很多8位部分。目前,模拟器有两种主要类型的CCP外围设备,用于8位设备。一种是在CCPxCON寄存器中具有PXM、DCXB和CCPXM字段的“旧式”(例如PIC16LF1936)。另一种是在CCPxCON寄存器中具有EN、OUT、FMT和模式字段的“新式”(例如PIC16F1619)。所有具有“旧式”CCP的8位设备都会有这个问题。
|
|
|
|
只有小组成员才能发言,加入小组>>
5250 浏览 9 评论
2037 浏览 8 评论
1958 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3218 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2266 浏览 5 评论
788浏览 1评论
680浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
609浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
685浏览 0评论
582浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 05:55 , Processed in 1.256418 second(s), Total 84, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号