[NUC120] (好心情)NUC120第四帖--CLKO 输出

[复制链接]
9983|2
 楼主| cat_li 发表于 2011-9-17 09:08 | 显示全部楼层 |阅读模式
本帖最后由 缥缈九哥 于 2012-9-14 12:10 编辑

新塘的NUC120有个CLKO输出功能,可以把几个时钟源(外部12M,外部32k,HCLK,内部22M)分频,从CLKO Pin输出
根据手册描述,CLKO输出在GPB12上,属于复用功能,所以使用前需要
  1. DrvGPIO_InitFunction(E_FUNC_CLKO); // 将GPB12 Pin设置为CLKO输出
看HOT的原理图发现如下所示:


上电了之后会将GPB12强行拉低,导致输出失效,所以要将R40断开


程序本身很简单,就不在上传工程文件了
  1. #include <stdio.h>
  2. #include "NUC1xx.h"
  3. #include "Driver\DrvGPIO.h"
  4. #include "Driver\DrvSYS.h"


  5. int main(void)
  6. {
  7. UNLOCKREG();
  8. SYSCLK->WRCON.XTL12M_EN = 1;
  9. DrvSYS_Delay(5000);
  10. LOCKREG();


  11. DrvGPIO_InitFunction(E_FUNC_CLKO); // 将GPB12 Pin设置为CLKO输出
  12. DrvSYS_SelectIPClockSource(E_SYS_FRQDIV_CLKSRC,0x00); // 为CLKO选择时钟源,0-外部12M
  13. // 1-外部32k,2-HCLK,3-内部22M

  14. // 允许CLKO输出,分频数为6(可以设置的范围0-15). 输出频率 Fout = Fin / 2(n+1);
  15. DrvSYS_SetFreqDividerOutput(1,6);
  16. while(1);

  17. }
运行后可以在GPB12测到93.74KHz的频率,调整不同的分频系数和时钟源可以获得不同的频率

附一张输出波形图

本帖子中包含更多资源

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

×
tao560532 发表于 2011-9-17 18:52 | 显示全部楼层
先进的万用表,还可以测频率 啊,高级货,我们这的没这功能,还是得用示波器来看
 楼主| cat_li 发表于 2011-9-19 09:25 | 显示全部楼层
现在的万用表大部分都可以测试频率吧,只不过范围差异而已
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:正在学习STM32  LM3S [url=http://shop33501731.taobao.com]我的淘宝店铺,欢迎光临[/url] 51开发板PCB免费

13

主题

121

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部