搜索
bottom↓
回复: 2

LGT主时钟分频系数怎么设置?

[复制链接]

出0入0汤圆

发表于 2012-8-10 16:06:47 | 显示全部楼层 |阅读模式
本帖最后由 YRHeng 于 2012-8-10 16:10 编辑

程序如下:
void McuClkCtrl()
{
     //使用外部晶振
     DDC0_bit=0;   //设置晶振管脚为高阻输入,关闭上拉电阻
     PORTC0_bit=0;
     DDC1_bit=0;
     PORTC1_bit=0;
     PMCR |= (1<<OSCMEN); //使能外部晶振
     delay_ms(1);         //等待外部晶振工作正常
     PMCR |= (1<<EXTMSEL);//使用外部晶振
     PMCR &= ~(1<<RC16MEN); //关闭内部16Mhz RC振荡器
     CLKPR = 0x80;          //使能时钟分频设置
     CLKPR = 0x00;         //设置分频系数为1
}

程序运行结果:
切换到外部晶振,但主时钟分频系数没改变
8M的晶振,本来设置串口波特率为9600,但实测为4800

请问各位前辈,主时钟时钟分频系数怎么设置?已经按文档写的,先把CLKRP 的 CLKPCE位置1,然后再改分频系统数了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-8-10 16:08:22 | 显示全部楼层
使用的编译器是mikroC PRO for AVR

出0入0汤圆

 楼主| 发表于 2012-8-10 16:34:38 | 显示全部楼层
问题解决,看了AVR的文档,禁止中断就可以了。。

为避免无意中改变时钟频率,在改变 CLKPS时必须执行一个特殊的写程序:
1. 将时钟预分频器更新使能 (CLKPCE) 置位,并同时将 CLKPR 的其余位清零
2. 在随后的 4 个时钟周期内,将需要的数值写入 CLKPS 并同时将 CLKPCE清零
为保证写操作不被中断,在改变预分频设置时必须禁止中断。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-5 08:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表