Microchip® Advanced Software Framework

macsc_megarf_example2.c File Reference

AVR MEGARF MACSC Driver Example 2.

Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.

#include <conf_example.h>
#include <string.h>
#include <asf.h>

Functions

static void example_cmp1_int_cb (void)
 Symbol Counter Compare 1 interrupt callback function. More...
 
static void example_cmp2_int_cb (void)
 Symbol CounterCompare 2 interrupt callback function. More...
 
static void example_cmp3_int_cb (void)
 Symbol Counter Compare 3 interrupt callback function. More...
 
int main (void)
 Main function. More...
 

Variables

static volatile bool sleep
 

static void example_cmp1_int_cb ( void  )
static

Symbol Counter Compare 1 interrupt callback function.

This function is called when a compare match has occured on channel 1 of symbol counter. Compare match occurs on end of sleep period

References COMPARE_MODE, ioport_set_value(), MACSC_CC2, macsc_enable_cmp_int(), macsc_use_cmp(), sleep, and usart_putchar().

Referenced by main().

static void example_cmp2_int_cb ( void  )
static

Symbol CounterCompare 2 interrupt callback function.

This function is called when a compare match has occured on channel 2 has occurred CMP2_INT_CHK_PIN is set to LOW. Compare match occurs on end of active period

References sleep, sleep_disable(), and usart_putchar().

Referenced by main().

static void example_cmp3_int_cb ( void  )
static

Symbol Counter Compare 3 interrupt callback function.

This function is called when a compare match has occured on channel 3 of symbol counter and toggles CMP3_INT_CHK_PIN. CMP2_INT_CHK_PIN is set HIGH. Compare match occurs at the end of every beacon interval.

References COMPARE_MODE, ioport_set_value(), ioport_toggle_pin(), MACSC_CC1, macsc_enable_cmp_int(), macsc_enable_manual_bts(), macsc_use_cmp(), and usart_putchar().

Referenced by main().

int main ( void  )

Main function.

Main function.

This function initializes the MAC, initiates a MLME reset request (wpan_mlme_reset_req()), and implements a the main loop.

Main function.

The master example begins by initializing required board resources. The system clock, basic GPIO pin mapping, and interrupt vectors are established.

A memory location on a TWI slave is written with a fixed test pattern which is then read back into a separate buffer. As a basic sanity check, the original write-buffer values are compared with values read from the slave to a separate buffer. An LED on the development board is illuminated when there is a match between the written and read data.

Returns
Nothing.

Main function.

Main function.

Initializes the clock system, board and serial output, then sets up the Sleep Manager unit test suite and runs it.

The SAM3X_EK, SAM3X Arduino board and SAM4C_EK use two bytes length internal address EEPROM.

References usart_rs232_options::baudrate, board_init(), COMPARE_MODE, cpu_irq_enable, example_cmp1_int_cb(), example_cmp2_int_cb(), example_cmp3_int_cb(), ioport_configure_pin(), IOPORT_DIR_OUTPUT, ioport_init(), IOPORT_INIT_LOW, MACSC_CC3, macsc_enable(), macsc_enable_cmp_int(), macsc_enable_manual_bts(), macsc_set_cmp1_int_cb(), macsc_set_cmp2_int_cb(), macsc_set_cmp3_int_cb(), macsc_sleep_clk_enable(), macsc_use_cmp(), macsc_write_clock_source(), sleep, sleep_enable(), sleep_enter, sleep_set_mode(), SLEEP_SMODE_PSAVE, sysclk_enable_peripheral_clock(), sysclk_init(), usart_init_rs232(), and usart_putchar().

volatile bool sleep
static