This file implements some macros that makes the IAR C-compiler and avr-gcc work with the same code base for the AVR architecture.
Microchip Technology Inc: http://www.microchip.com
Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
#include <stdint.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#include <util/delay.h>
#include <avr/sleep.h>
Macros | |
#define | AVR_ENTER_CRITICAL_REGION() |
This macro will protect the following code from interrupts. More... | |
#define | AVR_LEAVE_CRITICAL_REGION() SREG = saved_sreg; |
This macro must always be used in conjunction with AVR_ENTER_CRITICAL_REGION so the interrupts are enabled again. More... | |
#define | delay_us(us) (_delay_us( us )) |
Define the delay_us macro for GCC. More... | |
#define | F_CPU 11059200UL |
Define default CPU frequency, if this is not already defined. More... | |
#define | INLINE static inline |
#define | MAIN_TASK_EPILOGUE() return -1; |
#define | MAIN_TASK_PROLOGUE int |
#define | nop() do { __asm__ __volatile__ ("nop"); } while (0) |
Define the no operation macro. More... | |
#define | SHORTENUM __attribute__ ((packed)) |
#define | sleep_enter() sleep_cpu() |
Define the sleep_enter macro for GCC. More... | |
#define AVR_ENTER_CRITICAL_REGION | ( | ) |
This macro will protect the following code from interrupts.
#define AVR_LEAVE_CRITICAL_REGION | ( | ) | SREG = saved_sreg; |
This macro must always be used in conjunction with AVR_ENTER_CRITICAL_REGION so the interrupts are enabled again.
#define delay_us | ( | us | ) | (_delay_us( us )) |
Define the delay_us macro for GCC.
#define F_CPU 11059200UL |
Define default CPU frequency, if this is not already defined.
#define INLINE static inline |
#define MAIN_TASK_EPILOGUE | ( | ) | return -1; |
#define MAIN_TASK_PROLOGUE int |
#define nop | ( | ) | do { __asm__ __volatile__ ("nop"); } while (0) |
Define the no operation macro.
#define SHORTENUM __attribute__ ((packed)) |
#define sleep_enter | ( | ) | sleep_cpu() |
Define the sleep_enter macro for GCC.