FREQM example driver for AVR UC3.
This file provides an example for the FREQM on AVR UC3 devices.
Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.
#include "board.h"
#include "gpio.h"
#include "intc.h"
#include "usart.h"
#include "freqm.h"
#include "print_funcs.h"
#include "power_clocks_lib.h"
#include "conf_board.h"
Macros | |
#define | OSC32K_FREQ_HZ 32768 |
Functions | |
int | clock_measure (void) |
Measured and get result after configuration. More... | |
void | display_result (uint32_t refhz, uint32_t duration, uint32_t msrhz) |
Output result through usart. More... | |
int | main (void) |
main function More... | |
#define OSC32K_FREQ_HZ 32768 |
Referenced by clock_measure(), and main().
int clock_measure | ( | void | ) |
Measured and get result after configuration.
References ERR_TIMEOUT, EXAMPLE_USART, freqm_get_result(), freqm_start(), OSC32K_FREQ_HZ, status, and usart_write_line().
Referenced by main().
void display_result | ( | uint32_t | refhz, |
uint32_t | duration, | ||
uint32_t | msrhz | ||
) |
Output result through usart.
refhz | Frequency of reference clock(Hz) |
duration | Reference clock cycles |
msrhz | Frequency of measured clock(Hz) |
References print_dbg(), and print_dbg_ulong().
Referenced by main().
int main | ( | void | ) |
main function
References usart_options_t::baudrate, clock_measure(), cpu_irq_enable, display_result(), ERR_TIMEOUT, EXAMPLE_USART, EXAMPLE_USART_RX_FUNCTION, EXAMPLE_USART_RX_PIN, EXAMPLE_USART_TX_FUNCTION, EXAMPLE_USART_TX_PIN, FPBA, freqm_enable(), freqm_enable_measurement_done_int(), freqm_set_clock_source(), freqm_start(), freqm_write_config(), gpio_enable_module(), INTC_init_interrupts(), INTC_register_interrupt(), scif_osc32_opt_t::mode, OSC32K_FREQ_HZ, PM_CKSEL_DIVRATIO_16, PM_CLK_DOMAIN_3, pm_set_clk_domain_div(), SCIF_OSC_MODE_2PIN_CRYSTAL, SCIF_OSC_MODE_2PIN_CRYSTAL_HICUR, scif_start_osc32(), status, sysclk_init(), USART_1_STOPBIT, USART_GPIO_MAP, usart_init_rs232(), USART_NO_PARITY, USART_OPTIONS, and usart_write_line().