本帖最后由 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
最后传个照片:
|