完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
PIC32 MM056GPM064、XC32 1.44 i在数据表的振荡器部分上,并为其创建功能。我有一个问题,我想知道如何调试(pickit3,mplabx)振荡器。我正在使用pic32mm u***好奇板,有一个简单的应用程序,它试图利用每个外围设备,因为我为每个闪烁的灯,开关的使用,adc等等创建功能。我可以很容易地告诉w说当一组新的函数被添加/测试时,事情就不能正常工作了。我有一个“测试”在循环中,我得到的ADC值的锅,并做一个软件复位,如果低于一个低值。它像预期的一样工作。振荡器——当FrCdIV作为配置源中的时钟源时,一切都很好。我在Simple()中对SPLL的切换也如预期的那样工作。如果我在配置位中有PLL作为时钟源,并切换到SPLL,那么在我进行软件复位之前,一切都很好。然后,我得到一个锁定(复位确实发生,因为所有的灯都熄灭,但应用程序不会再次运行,直到'真正的'复位按钮或编程)。如果我试着调试它,一切正常。通过注释掉代码,我可以知道当从FRCDIV切换回SPLL时发生了问题(仅在软件重置时发生)。有没有办法在不使用调试器的情况下查明发生了什么?在使用调试器时,我尝试的任何结果都会导致问题消失。我已经尝试过各种补救措施——在复位之后设置振荡器之前的时间延迟(看起来不是时间),检查各种osc就绪位,等等。简单的解决方案是仅仅将配置位设置为FRCDIV,无论如何,这并不是一个坏主意,但是只是想发现没有发生什么。完成,但OSC功能在这里http://GITHUB.COM/CV07/…PP/BLB/MART/Osc.hpp
|
|
相关推荐
1个回答
|
|
我已经放弃了,但是更多的外部信息重置也是同样的,所以它只与swreset无关,我不确定问题每次都会发生,因为我的各种测试结果都是冲突的。设置在配置,在任何重置(除了电源),芯片“锁定”。例如,如果我将MUL设置为12x,要么进行swreset,要么按好奇心板上的复位按钮,我就永远不会回到运行状态(在代码早期设置为led)。在“锁定”状态下,如果我再次按下重置按钮(或进行编程),那么它再次工作。如果FRCDIV被设置在config中,那么一切都正常(或者如果使用MUL 6x或更少)。我认为pll-pll在默认2x开始运行,我的代码将源代码切换到frcdiv,将mul切换到12x(或8x),切换回spll-all ok,发生重置,pll现在正试图恢复工作(我假设e)在装入配置位后,到2X时,时钟由于某种原因丢失(卡住锁等待)。另一个EXT重置使它再次运行。我猜在这种情况下锁相机mul/div在运行时被切换,根据FRM,这并不是一件好事。有趣的是,如果在时钟开关代码中跳过切换到frcdiv,那么切换mul/div的工作量最大,最多8倍,在12倍时工作,实际是6倍。在这些情况下,因为8倍wo。rks,重置锁定,但是12x不作为其仅获得6x.edit-我将添加一件事-MCC(我不使用)似乎总是使用FNOSC=FRCDIV,所以一定有未写入的规则,或者您从来没有在配置位中使用PLL的常识。
|
|
|
|
只有小组成员才能发言,加入小组>>
5238 浏览 9 评论
2028 浏览 8 评论
1950 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3204 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2253 浏览 5 评论
777浏览 1评论
666浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
595浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
676浏览 0评论
576浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 04:57 , Processed in 1.415168 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号