首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

UART串口系统初始化疑惑,该如何处理

2012-03-04 
UART串口系统初始化疑惑本人最近看一本《ARM9嵌入式技术及Linux高级实践教程》第五章基本接口实验的内容有些

UART串口系统初始化疑惑
本人最近看一本《ARM9嵌入式技术及Linux高级实践教程》第五章   基本接口实验
的内容有些疑惑。

void   changeclockdivider(int   hdvin,   int   pdivn){
  //   hdvin,pdivn   FCLK:HCLK:PCLK
  //   0,0                   1:1:1
  //   0,1                   1:1:2
  //   1,0                   1:2:2
  //   1,1                   1:2:4
         
          rCLKDIVN   =   (hdivn < <1)|pdivn;
          if(hdivn)
                  MMU_SetAsyncBusMode();
          else
                  MMU_SetFastBusMode();
}

以上函数是配置APB总线时钟和AHB总线时钟,内部时钟PCLK作为UART的时钟。
我猜hdvin,pdvin分别是设置APB,AHB得。但后边的FCLK:HCLK:PCLK是什么意思呢?
这是基于ARM的


[解决办法]
分频比
[解决办法]
需要看芯片的技术手册
[解决办法]
hdvin,pdvin用来设置FCLK:HCLK:PCLK三个频率的比例,
APB总线时钟频率称为PCLK
AHB总线时钟频率称为HCLK
“1,1 1:2:4”表示FCLK:HCLK:PCLK= 1: 1/2 : 1/4
比如HCLK=200MHz,则HCLK=100MHz,PCLK=50MHz
[解决办法]
就是分频比

热点排行