Microchip® Advanced Software Framework

macsc_megarf_example1.c File Reference

AVR MEGARF MAC Symbol Counter Driver Example 1.

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

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

Functions

static void example_backoff_slot_cntr_int_cb (void)
 Backoff slot counter interrupt callback function. More...
 
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...
 
static void example_ovf_int_cb (void)
 Symbol Counter Overflow interrupt callback function. More...
 
int main (void)
 Main function. More...
 

static void example_backoff_slot_cntr_int_cb ( void  )
static

Backoff slot counter interrupt callback function.

This function is called when a backoff slot counter interrupt has occured and toggles BACKOFF_INT_CHK_PIN.

References ioport_toggle_pin().

Referenced by main().

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 and toggles CMP1_INT_CHK_PIN.

References COMPARE_MODE, ioport_toggle_pin(), MACSC_CC1, macsc_read_count(), macsc_use_cmp(), macsc_write_count(), 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 Symbol Counter and toggles CMP2_INT_CHK_PIN.

References COMPARE_MODE, ioport_toggle_pin(), MACSC_CC2, macsc_read_count(), macsc_use_cmp(), macsc_write_count(), 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.

References COMPARE_MODE, ioport_toggle_pin(), MACSC_CC3, macsc_read_count(), macsc_use_cmp(), macsc_write_count(), and usart_putchar().

Referenced by main().

static void example_ovf_int_cb ( void  )
static

Symbol Counter Overflow interrupt callback function.

This function is called when an overflow interrupt has occurred on Symbol Counter and toggles OVF_INT_CHK_PIN.

References ioport_toggle_pin(), 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_backoff_slot_cntr_int_cb(), example_cmp1_int_cb(), example_cmp2_int_cb(), example_cmp3_int_cb(), example_ovf_int_cb(), ioport_configure_pin(), IOPORT_DIR_OUTPUT, ioport_init(), IOPORT_INIT_LOW, macsc_backoff_slot_cnt_enable(), MACSC_CC1, MACSC_CC2, MACSC_CC3, macsc_enable(), macsc_enable_cmp_int(), macsc_enable_overflow_interrupt(), macsc_set_backoff_slot_cntr_int_cb(), macsc_set_cmp1_int_cb(), macsc_set_cmp2_int_cb(), macsc_set_cmp3_int_cb(), macsc_set_ovf_int_cb(), macsc_use_cmp(), macsc_write_clock_source(), sysclk_enable_peripheral_clock(), sysclk_init(), usart_init_rs232(), and usart_putchar().