Имею в наличии отладочную плату UC3-L0 Xplained с контроллером 32UC3L064.
Беру простейший пример с мигающей лампочкой, немного модифицирую 2 файла, в итоге:
основная программа:
Код
#include <compiler.h>
#include <sysclk.h>
#include <board.h>
#include <gpio.h>
#include <delay.h>
int main(void)
{
sysclk_init();
board_init();
while (1) {
gpio_toggle_pin(LED0_GPIO);
//delay_us(1);
}
}
#include <sysclk.h>
#include <board.h>
#include <gpio.h>
#include <delay.h>
int main(void)
{
sysclk_init();
board_init();
while (1) {
gpio_toggle_pin(LED0_GPIO);
//delay_us(1);
}
}
conf_clock.h
Код
#ifndef CONF_CLOCK_H_INCLUDED
#define CONF_CLOCK_H_INCLUDED
// ===== System Clock Source Options
//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_RCSYS
//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_OSC0
//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_DFLL
#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_RC120M
//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLL0
//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLL1
// ===== PLL Options
//#define CONFIG_PLL0_SOURCE PLL_SRC_OSC0
//#define CONFIG_PLL0_MUL 4 /* Fpll = (Fclk * PLL_mul) / PLL_div */
//#define CONFIG_PLL0_DIV 1 /* Fpll = (Fclk * PLL_mul) / PLL_div */
// ===== DFLL Options
#define CONFIG_DFLL0_SOURCE GENCLK_SRC_RC120M
/* Fdfll = (Fclk * DFLL_mul) / DFLL_div */
#define CONFIG_DFLL0_MUL 1
#define CONFIG_DFLL0_DIV 1 /* Fdfll = (Fclk * DFLL_mul) / DFLL_div */
// ===== System Clock Bus Division Options
#define CONFIG_SYSCLK_CPU_DIV 1 /* Fcpu = Fsys/(2 ^ CPU_div) */
#define CONFIG_SYSCLK_PBA_DIV 1 /* Fpba = Fsys/(2 ^ PBA_div) */
#define CONFIG_SYSCLK_PBB_DIV 1 /* Fpbb = Fsys/(2 ^ PBB_div) */
// ===== Peripheral Clock Management Options
//#define CONFIG_SYSCLK_INIT_CPUMASK (1 << SYSCLK_SYSTIMER)
//#define CONFIG_SYSCLK_INIT_PBAMASK (1 << SYSCLK_USART0)
//#define CONFIG_SYSCLK_INIT_PBBMASK (1 << SYSCLK_HMATRIX)
//#define CONFIG_SYSCLK_INIT_HSBMASK (1 << SYSCLK_MDMA_HSB)
#endif /* CONF_CLOCK_H_INCLUDED */
#define CONF_CLOCK_H_INCLUDED
// ===== System Clock Source Options
//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_RCSYS
//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_OSC0
//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_DFLL
#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_RC120M
//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLL0
//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLL1
// ===== PLL Options
//#define CONFIG_PLL0_SOURCE PLL_SRC_OSC0
//#define CONFIG_PLL0_MUL 4 /* Fpll = (Fclk * PLL_mul) / PLL_div */
//#define CONFIG_PLL0_DIV 1 /* Fpll = (Fclk * PLL_mul) / PLL_div */
// ===== DFLL Options
#define CONFIG_DFLL0_SOURCE GENCLK_SRC_RC120M
/* Fdfll = (Fclk * DFLL_mul) / DFLL_div */
#define CONFIG_DFLL0_MUL 1
#define CONFIG_DFLL0_DIV 1 /* Fdfll = (Fclk * DFLL_mul) / DFLL_div */
// ===== System Clock Bus Division Options
#define CONFIG_SYSCLK_CPU_DIV 1 /* Fcpu = Fsys/(2 ^ CPU_div) */
#define CONFIG_SYSCLK_PBA_DIV 1 /* Fpba = Fsys/(2 ^ PBA_div) */
#define CONFIG_SYSCLK_PBB_DIV 1 /* Fpbb = Fsys/(2 ^ PBB_div) */
// ===== Peripheral Clock Management Options
//#define CONFIG_SYSCLK_INIT_CPUMASK (1 << SYSCLK_SYSTIMER)
//#define CONFIG_SYSCLK_INIT_PBAMASK (1 << SYSCLK_USART0)
//#define CONFIG_SYSCLK_INIT_PBBMASK (1 << SYSCLK_HMATRIX)
//#define CONFIG_SYSCLK_INIT_HSBMASK (1 << SYSCLK_MDMA_HSB)
#endif /* CONF_CLOCK_H_INCLUDED */
на выходе осциллографом измеряю 1,5 МГц. каким образом?
подскажите, пожалуйста, как нормально сконфигурировать Clock на нужную частоту ?
заранее благодарен