[Atmel] 跑一下SAM4N例程(五):时钟2——输出

[复制链接]
ddllxxrr 发表于 2015-2-27 21:37 | 显示全部楼层 |阅读模式
本帖最后由 ddllxxrr 于 2015-2-28 12:24 编辑

这个例程使系统时钟从PCK0即每PA6输出。

首先,在Atmel Studio6.2 环境下插出开发板。然后直接打开例程:



定义用 PCK0
  1. /** Programmable Clock ID for the example by default */
  2. #ifndef GCLK_ID
  3. #define GCLK_ID         GENCLK_PCK_0
  4. #endif
定义管脚及选择输出什么时钟在下边:

  1. /* Configure specific CLKOUT pin */
  2.         ioport_set_pin_mode(GCLK_PIN, GCLK_PIN_MUX);
  3.         ioport_disable_pin(GCLK_PIN);

  4.         /* Configure the output clock */
  5.         genclk_config_defaults(&gcfg, GCLK_ID);
  6.         genclk_config_set_source(&gcfg, GCLK_SOURCE);
  7.         genclk_config_set_divider(&gcfg, GCLK_DIV);
  8.         genclk_enable(&gcfg, GCLK_ID);
而以上的宏定义都在头文件中conf_example2.h定义
  1. #ifndef CONF_EXAMPLE2_H_INCLUDED
  2. #define CONF_EXAMPLE2_H_INCLUDED

  3. #define GCLK_PIN        PIN_PCK0
  4. #define GCLK_PIN_MUX    PIN_PCK0_FLAGS

  5. #define GCLK_SOURCE                GENCLK_PCK_SRC_MAINCK_XTAL
  6. #define GCLK_DIV                GENCLK_PCK_PRES_1
PIN_PCK0在sam4n_xplained_pro.h中定义


  1. /** PCK0 pin definition (PA6) */
  2. #define PIN_PCK0         (PIO_PA6_IDX)
  3. #define PIN_PCK0_MUX     (IOPORT_MODE_MUX_B)
  4. #define PIN_PCK0_FLAGS   (IOPORT_MODE_MUX_B)
  5. #define PIN_PCK0_PORT    IOPORT_PIOA
  6. #define PIN_PCK0_MASK    PIO_PA6B_PCK0
  7. #define PIN_PCK0_PIO     PIOA
  8. #define PIN_PCK0_ID      ID_PIOA
  9. #define PIN_PCK0_TYPE    PIO_PERIPH_B
  10. #define PIN_PCK0_ATTR    PIO_DEFAULT
而经过查数据手册,PA6 正好是PCK0



最后传个照片:

本帖子中包含更多资源

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

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2403

主题

6994

帖子

68

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