atmega_common/include/cpu.h¶
Common implementations and headers for ATmega family based micro-controllers.
Basic definitions for the ATmega common module
When ever you want to do something hardware related, that is accessing MCUs registers directly, just include this file. It will then make sure that the MCU specific headers are included.
-
PERIPH_I2C_NEED_READ_REG
¶
-
PERIPH_I2C_NEED_WRITE_REG
¶
-
PERIPH_I2C_NEED_READ_REGS
¶
-
PERIPH_I2C_NEED_WRITE_REGS
¶
-
enum
@8
¶ - CPU_ATMEGA_CLK_SCALE_DIV1
= 0
- CPU_ATMEGA_CLK_SCALE_DIV2
= 1
- CPU_ATMEGA_CLK_SCALE_DIV4
= 2
- CPU_ATMEGA_CLK_SCALE_DIV8
= 3
- CPU_ATMEGA_CLK_SCALE_DIV16
= 4
- CPU_ATMEGA_CLK_SCALE_DIV32
= 5
- CPU_ATMEGA_CLK_SCALE_DIV64
= 6
- CPU_ATMEGA_CLK_SCALE_DIV128
= 7
- CPU_ATMEGA_CLK_SCALE_DIV256
= 8
- CPU_ATMEGA_CLK_SCALE_DIV512
= 9
- CPU_ATMEGA_CLK_SCALE_DIV1
-
uint8_t
__in_isr
¶ global in-ISR state variable
-
void
__enter_isr
(void)¶ Run this code on entering interrupt routines.
-
void
thread_yield_isr
(void)¶ Exit ISR mode and yield with a return from interrupt.
Use at the end of ISRs in place of thread_yield_higher. If thread_yield is needed, use thread_yield followed by thread_yield_isr instead of thread_yield alone.
-
void
__exit_isr
(void)¶ Run this code on exiting interrupt routines.
-
void
cpu_init
(void)¶ Initialization of the CPU.
-
void
cpu_print_last_instruction
(void)¶ Print the last instruction’s address.
-
void
atmega_set_prescaler
(uint8_t clk_scale)¶ Initializes system clock prescaler.
-
void
atmega_stdio_init
(void)¶ Initializes avrlibc stdio.