此帖出自Microchip MCU论坛
最新回复
本帖最后由 dingzy_2002 于 2017-9-2 14:44 编辑
osccon的最后两位是选择时钟源的:
SCS :系统时钟选择位
1x = 内部振荡器模块
01 = Timer1 振荡器
00 = 时钟由配置字寄存器 1 中的 FOSC 决定。
而你的OSCCON配置最后两位是00
说明,你的时钟由配置寄存器决定
所以,较为正确的写法应该是:
4M HF:OSCCON=0B01101011;
31k LF:OSCCON=0B00000011;这样估计会更好;
另外,对于从高速切换为低速,可以不检查时钟就绪位,时钟切换会快点.(你要等高速时钟停振后,就绪位=0,才切换到低速,当然要慢点了)
注释掉这一行试试:while(HFIOFR); //中频内部振荡器就绪位
详情
回复
发表于 2017-9-2 14:40
| ||
|
||
此帖出自Microchip MCU论坛
点评 | ||
|
||
此帖出自Microchip MCU论坛
点评 | ||
|
||
此帖出自Microchip MCU论坛
点评 | ||
|
||
此帖出自Microchip MCU论坛
| ||
|
||
EEWorld Datasheet 技术支持