本帖最后由 ddllxxrr 于 2015-2-28 12:24 编辑
这个例程使系统时钟从PCK0即每PA6输出。
首先,在Atmel Studio6.2 环境下插出开发板。然后直接打开例程:
定义用 PCK0
- /** Programmable Clock ID for the example by default */
- #ifndef GCLK_ID
- #define GCLK_ID GENCLK_PCK_0
- #endif
定义管脚及选择输出什么时钟在下边:
- /* Configure specific CLKOUT pin */
- ioport_set_pin_mode(GCLK_PIN, GCLK_PIN_MUX);
- ioport_disable_pin(GCLK_PIN);
- /* Configure the output clock */
- genclk_config_defaults(&gcfg, GCLK_ID);
- genclk_config_set_source(&gcfg, GCLK_SOURCE);
- genclk_config_set_divider(&gcfg, GCLK_DIV);
- genclk_enable(&gcfg, GCLK_ID);
而以上的宏定义都在头文件中conf_example2.h定义
- #ifndef CONF_EXAMPLE2_H_INCLUDED
- #define CONF_EXAMPLE2_H_INCLUDED
- #define GCLK_PIN PIN_PCK0
- #define GCLK_PIN_MUX PIN_PCK0_FLAGS
- #define GCLK_SOURCE GENCLK_PCK_SRC_MAINCK_XTAL
- #define GCLK_DIV GENCLK_PCK_PRES_1
PIN_PCK0在sam4n_xplained_pro.h中定义
- /** PCK0 pin definition (PA6) */
- #define PIN_PCK0 (PIO_PA6_IDX)
- #define PIN_PCK0_MUX (IOPORT_MODE_MUX_B)
- #define PIN_PCK0_FLAGS (IOPORT_MODE_MUX_B)
- #define PIN_PCK0_PORT IOPORT_PIOA
- #define PIN_PCK0_MASK PIO_PA6B_PCK0
- #define PIN_PCK0_PIO PIOA
- #define PIN_PCK0_ID ID_PIOA
- #define PIN_PCK0_TYPE PIO_PERIPH_B
- #define PIN_PCK0_ATTR PIO_DEFAULT
而经过查数据手册,PA6 正好是PCK0
最后传个照片:
|