Microchip
直播中

侯屏早

7年用户 176经验值
私信 关注
[问答]

pic cpu不能在外部振荡器上运行怎么办

我对PIC18F27 J53有一个问题。我已经浏览过数据表一百次了。我已经看过振荡器的流程图,所有的东西都应该设置为从外部晶体流出,但它在内部振荡器上运行。我有一个20mhz的水晶连接,并尝试了u***(工作良好),但有一个循环计数至100万,打开一个LED,然后计数至1000000和关闭它。当我将内部振荡器设置为3KHz时,LED保持大约3秒,关闭大约3秒。当我改变信息时,它会改变LED闪烁速度。所以它必须运行代码。我只是不能为我的生活找出原因。我试图控制一些WS28 12B在我的最终代码,这是相当困难的内部振荡器速度。所以让它从外部运行是必要的。下面是用于测试振荡器速度的简单代码IM,我希望能了解一下我的错误所在。

回帖(19)

丁亚念

2020-5-12 10:29:21
在这些配置行之前是否包括XC.H?(你应该)一旦你加入了XC.H,你就不需要包括P18F27 J53。
举报

袁沁茹

2020-5-12 10:42:41
我使用mcc18编译器。我已经把include放在代码的顶部(在语用之上),并注释掉了include所有仍在内部振荡器上运行的内容
举报

丁亚念

2020-5-12 10:57:25
你有它的注册副本吗?否则,你最好远离长期被遗弃的过时编译器。如果不被C18世界所束缚,XC8有很多优点。
举报

袁沁茹

2020-5-12 11:07:59
我没有挂号的复印件。只是习惯于使用它。最初我用这个评价来做几个引导加载程序。我尝试编译到XC8,但仍然得到相同的结果。我从图中读回了代码,最后几个字节(应该是配置字节)与应该能够作为时钟源进行结晶的设置相匹配。我认为微控制器本身没有问题,因为我试过在我制造的两个不同的板上,这两个板上的晶体接近微针,两个板都使用18f27j53。我倾向于赞成特定的PIC,因为它的PPS特征和CCP输出的丰富性。但是我仍然不明白为什么我不能使它比内部振荡器运行得更快。我的理解是,进入u***块的输出应该是48mhz,应该能够被路由到cpu,这应该决定代码运行的速度。但是,如果它运行在48 MHz,我的循环计数到1000000应该跑得如此快,LED将切换到小于1秒。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分