单片机时钟系统

各位大侠帮帮忙解释一下这个例子吧,刚在学习入门,都不是很明白啊。最好能逐字逐句解释一下呀~小弟感激不尽voidInit_CLK(void){unsignedinti;BC... 各位大侠帮帮忙解释一下这个例子吧,刚在学习入门,都不是很明白啊。最好能逐字逐句解释一下呀~小弟感激不尽
void Init_CLK(void)
{
unsigned int i;
BCSCTL1 = 0x00;
do
{
IFG1 &= ~OFIFG;
for (i = 0x20; i>0; i--);
}
while ((IFG1 & OFIFG)== OFIFG);
BCSCTL2 = 0x00;
BCSCTL2 += SEML1;
BCSCTL2 += SELS;
}
MSP430的~
嘻嘻
展开
 我来答
深圳市兴威帆电子技术有限公司 2023-06-12
展开全部
实时时钟模块可以找深圳市兴威帆电子技术有限公司,本公司具有经验丰富的开发工程师和应用工程师,致力于公司自主知识产权IC等产品的研发和技术支持,已开发出多款成熟的产品并大量生产、销售及出口,我公司高精度实时时钟模块产品获得多项国家专利,打破了国外产品长期以来的垄断地位。
启岩
2010-04-29 · TA获得超过1851个赞
知道小有建树答主
回答量:809
采纳率:0%
帮助的人:643万
展开全部
void Init_CLK(void)
{
unsigned int i;
BCSCTL1 = 0x00; //清除时钟控制寄存器1
//下面这个do while循环是打开XT2,430上电复位时XT2默认关闭,如果要用到高速时钟XT2,则必须先将其打开
do
{
IFG1 &= ~OFIFG; //清除振荡器失效标志,复位时,XT2关闭相应的失效标志位为OFIFG=1,故需将该位置0
for (i = 0x20; i>0; i--); //延时等待XT2稳定
}
while ((IFG1 & OFIFG)== OFIFG); //再次判断是否已经打开了XT2,即再次判断OFIFG是否为1,若为1则继续执行上面的do操作。
BCSCTL2 = 0x00; //清除时钟控制寄存器2
BCSCTL2 += SEML1; //设置主系统时钟MCLK=XT2
BCSCTL2 += SELS; //设置子系统时钟SMCLK=XT2
}

具体的寄存器配置可以参看MSP430的用户指南
也可以在微控网上找一下《msp430常用模块应用原理》看看
http://www.microcontrol.cn/bbs/
深圳市兴威帆电子技术有限公司
2023-06-12 广告
时钟模块有许多选择,这里为您提供几家广泛应用的模块,并询问一些普遍问题:1. Arduino - 这是一个非常受欢迎的选择,因为它易于使用,价格实惠,且能与多种传感器连接。此外,它也具有可编程功能和Wi-Fi /蓝牙功能。2. Raspbe... 点击进入详情页
本回答由深圳市兴威帆电子技术有限公司提供
35...0@qq.com
2010-04-24 · TA获得超过188个赞
知道答主
回答量:50
采纳率:0%
帮助的人:25.8万
展开全部
void Init_CLK(void) 初始化时钟子函数
{
unsigned int i; 定义一个无符号整型变量i
BCSCTL1 = 0x00;
do
{
IFG1 &= ~OFIFG; 清除振荡器失效标志位
for (i = 0x20; i>0; i--); 延时,等待振荡器工作
}
while ((IFG1 & OFIFG)== OFIFG); 振荡器开始工作
BCSCTL2 = 0x00;
BCSCTL2 += SEML1; DCOCLK作为MCLK时钟源
BCSCTL2 += SELS; LFXT1CLK作为SMCLK时钟源2
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
XA打不死的小强
2010-04-18 · TA获得超过509个赞
知道小有建树答主
回答量:452
采纳率:0%
帮助的人:241万
展开全部
你这具体是什么单片机,你不说,怎么回答呀,反正这个不是51。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式