S3C2440 蜂鸣器 汇编语言,S3C2440的基础功能模块实现过程

Clk.c

包含外部方法:

void Clk_Init(int freq);

void Clk_Display(void);

void Clk0_Enable(int clock_sel);

void Clk0_Disable(void);

void Clk1_Enable(int clock_sel);

void Clk1_Disable(void);

包含内部方法:

void ChangeMPllValue(int mdiv,int pdiv,int sdiv);

void ChangeClockDivider(int hdivn_val,int pdivn_val);

void ChangeUPllValue(int mdiv,int pdiv,int sdiv);

重点函数说明:

l 时钟初始化函数(Clk_Init)

S3C2440有两条锁相环,一条用于核心时钟的倍频,一条用于USB接口的时钟倍频。时钟初试化函数包含对这2条时钟线和分频器的设置。

具体步骤如:

1.设置MPLLCON寄存器改变倍频系数初始化时钟,使时钟工作在400MHz。

2.设定CLKDIV寄存器的分频系数使FCLK(核心时钟):HCLK(总线时钟):PCLK(外围时钟)的比例为1:2:4。

3.设定UPLLCON寄存器和CLKDIV寄存器的系数设置UCLK(USB时钟)为

4.开启对所有模块的时钟信号供应。

l 时钟开启关闭函数(Clk_Enable和Clk_Disable)

具体步骤如:

1.通过设置MISCCR寄存器打开和关闭MPLL或UPLL。

2.设置GPHCON对GPIOH18进行控制,可以打开或关闭时钟对外部的输出。

l 时钟信息显示函数(Clk_Display)

1.可以显示当前FCLK、HCLK、PCLK、UCLK的时钟频率。

2.可以看到PCLK对各个外围模块的时钟提供是否打开。

系统初始化之后,利用Clk_Display显示的时钟信息如图4-1:

y1p2OtuQjbmx6-P8hEBwkTK9Faar0aT-GJF7OX4XuM_JssZ9mjCfPLQLtYYZjPHhAxjJW-Ve8N0V2ZoOxCIA7ySKg?PARTNER=WRITER

图4-1 调用时钟信息显示函数的结果

从图中,我们可以看到目前系统的核心频率工作在400MHz,FCLK:HCLK:PCLK为1:4:8。PCLK对各个子模块的时钟供应都已打开。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值