81 assr_reg(&coreTraceGroup,
"ASSR"),
82 sfior_reg(&coreTraceGroup,
"SFIOR"),
83 prescaler01(this,
"01", &sfior_reg, 0),
84 prescaler2(this,
"2",
PinAtPort(&portc, 6), &assr_reg, 3, &sfior_reg, 1),
85 premux0(&prescaler01,
PinAtPort(&portb, 0)),
86 premux1(&prescaler01,
PinAtPort(&portb, 1)),
124 atmega16 ? 11 : 13, atmega16 ? 12 : 14, atmega16 ? 13 : 15);
189 rw[0x45]= & timer2->tccr_reg;
190 rw[0x44]= & timer2->tcnt_reg;
191 rw[0x43]= & timer2->ocra_reg;
218 rw[0x28]= & acomp->acsr_reg;
oscillator version 3.x and older, 8bit, one range
ADC reference is selected on 3 or 4 different sources: Vcc, aref pin, bandgap or 2.56V reference.
Basic AVR device, contains the core functionality.
0:aref, 1:vcc, 2:-, 3:2.56V
AVR device class for ATMega16, see AvrDevice_atmega16_32.
AVR device class for ATMega32, see AvrDevice_atmega16_32.
PrescalerMultiplexer premux2
prescaler multiplexer for timer 2
TimerIRQRegister * timer012irq
timer interrupt unit for timer 0 to 2
IOSpecialReg assr_reg
ASSR IO register.
HWARef * aref
adc reference unit
Implements a stack with stack register using RAM as stackarea.
IOSpecialReg sfior_reg
SFIOR IO register.
IOReg< HWEeprom > eedr_reg
IOReg< HWTimer8_1C > tccr_reg
control register
void registerIrq(int vector, int irqBit, ExternalIRQ *extirq)
IOReg< HWTimer16 > ocra_h_reg
output compare A register, high byte
HWAdmux * admux
adc multiplexer unit
Pin & GetPin(unsigned char pinNo)
returns a pin reference of pin with pin number
Timer unit with 8Bit counter and one output compare unit.
IOReg< HWTimer16 > ocra_l_reg
output compare A register, low byte
IOReg< HWTimer8 > tcnt_reg
counter register
IOReg< HWTimer16 > tcnt_h_reg
counter register, high byte
OSCCALRegister * osccal_reg
OSCCAL IO register.
Handler for external IRQ's to communicate with IRQ system and mask/flag registers.
Represents a timer interrupt line, Frontend for timer interrupts.
AvrDevice_atmega16_32(unsigned ram_bytes, unsigned flash_bytes, unsigned ee_bytes, unsigned nrww_start, bool atmega16)
void SetFuseConfiguration(int size, unsigned long defvalue)
Configure fuses.
HWUsart * usart
usart unit
IOReg< HWUart > ubrr_reg
IO register "UBRRxL" - baudrate.
ADC type M16: ADC on atmega16 and atmega32.
AVRDevice class for ATMega16 and ATMega32.
HWTimer8_1C * timer2
timer 2 unit
IOSpecialReg * gifr_reg
GIFR IO register.
IOSpecialReg tifr_reg
the TIFRx register
Implements the I/O hardware necessary to do USART transfers.
IOReg< HWUart > ucsra_reg
IOSpecialReg * mcucr_reg
MCUCR IO register.
IOReg< HWTimer16 > icr_h_reg
input capture register, high byte
IOSpecialReg * gicr_reg
GICR IO register.
HWTimer16_2C2 * timer1
timer 1 unit
TraceValueCoreRegister coreTraceGroup
IOReg< HWUart > ucsrb_reg
IOReg< HWTimer16 > icr_l_reg
input capture register, low byte
Timer unit with 16Bit counter and 2 output compare units and 2 config registers.
IOReg< HWEeprom > eearh_reg
IOReg< HWTimer16 > tcnt_l_reg
counter register, low byte
Pin * GetPin(const char *name)
IOReg< HWTimer16 > ocrb_l_reg
output compare B register, low byte
Provices flag and mask register for timer interrupts and connects irq lines to irqsystem.
IOReg< HWEeprom > eecr_reg
IOReg< HWUsart > ucsrc_ubrrh_reg
void registerLine(int idx, IRQLine *irq)
#define AVR_REGISTER(name, class)
RWMemoryMember ** rw
The whole memory: R0-R31, IO, Internal RAM.
HWAcomp * acomp
analog compare unit
HWTimer8_1C * timer0
timer 0 unit
PrescalerMultiplexerExt premux0
prescaler multiplexer for timer 0
Provides the programming engine for flash self programming.
void SetBootloaderConfig(unsigned addr, int size, int bPosBOOTSZ, int bPosBOOTRST)
Set bootloader support configuration.
IOReg< HWTimer16 > ocrb_h_reg
output compare B register, high byte
IOReg< HWEeprom > eearl_reg
IOReg< HWTimer8 > ocra_reg
output compare A register
IOSpecialReg * mcucsr_reg
MCUCSR IO register.
Class, which provides input capture source for 16bit timers.
RWSreg * statusRegister
the memory interface for status
IRQLine * getLine(const std::string &name)
PrescalerMultiplexerExt premux1
prescaler multiplexer for timer 1
IOReg< HWTimer16_2C2 > tccrb_reg
control register B
ExternalIRQHandler * extirq
external interrupt support
FlashProgramming * spmRegister
IOReg< HWWado > wdtcr_reg
IOSpecialReg timsk_reg
the TIMSKx register
Analog comparator peripheral.
IOReg< FlashProgramming > spmcr_reg
Implement OSCCAL register.
External interrupt (INT0, INT1...) on a single pin, one and 2 bit configuration.
ICaptureSource * inputCapture1
input capture source for timer1
IOReg< HWTimer16_2C2 > tccra_reg
control register A