ATtiny804 registers
All 323 registers by peripheral, at their data-space address (the I/O address IN and OUT use is shown beside it), with their reset value and every bit.
VPORTA Virtual Ports DIRData Direction
Address 0x00 I/O 0x00
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – OUTOutput Value
Address 0x01 I/O 0x01
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – INInput Value
Address 0x02 I/O 0x02
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – INTFLAGSInterrupt Flags
Address 0x03 I/O 0x03
Reset 0x00
Access read/write 7 INT7 6 INT6 5 INT5 4 INT4 3 INT3 2 INT2 1 INT1 0 INT0 1 field
Field Bits What it does INT 7:0 Pin Interrupt
VPORTB Virtual Ports DIRData Direction
Address 0x04 I/O 0x04
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – OUTOutput Value
Address 0x05 I/O 0x05
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – INInput Value
Address 0x06 I/O 0x06
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – INTFLAGSInterrupt Flags
Address 0x07 I/O 0x07
Reset 0x00
Access read/write 7 INT7 6 INT6 5 INT5 4 INT4 3 INT3 2 INT2 1 INT1 0 INT0 1 field
Field Bits What it does INT 7:0 Pin Interrupt
VPORTC Virtual Ports DIRData Direction
Address 0x08 I/O 0x08
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – OUTOutput Value
Address 0x09 I/O 0x09
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – INInput Value
Address 0x0A I/O 0x0A
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – INTFLAGSInterrupt Flags
Address 0x0B I/O 0x0B
Reset 0x00
Access read/write 7 INT7 6 INT6 5 INT5 4 INT4 3 INT3 2 INT2 1 INT1 0 INT0 1 field
Field Bits What it does INT 7:0 Pin Interrupt
GPIO General Purpose IO GPIOR0General Purpose IO Register 0
Address 0x1C I/O 0x1C
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – GPIOR1General Purpose IO Register 1
Address 0x1D I/O 0x1D
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – GPIOR2General Purpose IO Register 2
Address 0x1E I/O 0x1E
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – GPIOR3General Purpose IO Register 3
Address 0x1F I/O 0x1F
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – CPU CPU CCPConfiguration Change Protection
Address 0x34 I/O 0x34
Reset 0x00
Access read/write 7 CCP7 6 CCP6 5 CCP5 4 CCP4 3 CCP3 2 CCP2 1 CCP1 0 CCP0 1 field
Field Bits What it does CCP 7:0 CCP signature157 SPM Instruction Protection216 IO Register Protection
SPLStack Pointer Low
Address 0x3D I/O 0x3D
Reset 0xFF
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – SPHStack Pointer High
Address 0x3E I/O 0x3E
Reset 0x3F
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – SREGStatus Register
Address 0x3F I/O 0x3F
Reset 0x00
Access read/write 7 I 6 T 5 H 4 S 3 V 2 N 1 Z 0 C 8 fields
Field Bits What it does I 7 Global Interrupt Enable Flag T 6 Transfer Bit H 5 Half Carry Flag S 4 N Exclusive Or V Flag V 3 Two's Complement Overflow Flag N 2 Negative Flag Z 1 Zero Flag C 0 Carry Flag
RSTCTRL Reset controller RSTFRReset Flags
Address 0x40
Reset 0x00
Access read/write 7 – 6 – 5 UPDIRF 4 SWRF 3 WDRF 2 EXTRF 1 BORF 0 PORF 6 fields
Field Bits What it does UPDIRF 5 UPDI Reset flag SWRF 4 Software Reset flag WDRF 3 Watch dog Reset flag EXTRF 2 External Reset flag BORF 1 Brown out detector Reset flag PORF 0 Power on Reset flag
SWRRSoftware Reset
Address 0x41
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 SWRE 1 field
Field Bits What it does SWRE 0 Software reset enable
SLPCTRL Sleep Controller CTRLAControl
Address 0x50
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 SMODE1 1 SMODE0 0 SEN 2 fields
Field Bits What it does SMODE 2:1 Sleep mode0 Idle mode1 Standby Mode2 Power-down Mode SEN 0 Sleep enable
CLKCTRL Clock controller MCLKCTRLAMCLK Control A
Address 0x60
Reset 0x00
Access read/write 7 CLKOUT 6 – 5 – 4 – 3 – 2 – 1 CLKSEL1 0 CLKSEL0 2 fields
Field Bits What it does CLKOUT 7 System clock out CLKSEL 1:0 Clock select0 16/20MHz internal oscillator1 32.768kHz internal ultra low-power oscillator3 External clock
MCLKCTRLBMCLK Control B
Address 0x61
Reset 0x00
Access read/write 7 – 6 – 5 – 4 PDIV3 3 PDIV2 2 PDIV1 1 PDIV0 0 PEN 2 fields
Field Bits What it does PDIV 4:1 Prescaler division0 2X1 4X2 8X3 16X4 32X5 64X8 6X9 10X10 12X11 24X12 48X PEN 0 Prescaler enable
MCLKLOCKMCLK Lock
Address 0x62
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 LOCKEN 1 field
Field Bits What it does LOCKEN 0 Lock enable
MCLKSTATUSMCLK Status
Address 0x63
Reset 0x00
Access read only 7 EXTS 6 – 5 OSC32KS 4 OSC20MS 3 – 2 – 1 – 0 SOSC 4 fields
Field Bits What it does EXTS 7 External Clock status OSC32KS 5 32KHz oscillator status OSC20MS 4 20MHz oscillator status SOSC 0 System Oscillator changing
OSC20MCTRLAOSC20M Control A
Address 0x70
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 RUNSTDBY 0 – 1 field
Field Bits What it does RUNSTDBY 1 Run standby
OSC20MCALIBAOSC20M Calibration A
Address 0x71
Reset 0x00
Access read/write 7 – 6 – 5 CAL20M5 4 CAL20M4 3 CAL20M3 2 CAL20M2 1 CAL20M1 0 CAL20M0 1 field
Field Bits What it does CAL20M 5:0 Calibration
OSC20MCALIBBOSC20M Calibration B
Address 0x72
Reset 0x00
Access read/write 7 LOCK 6 – 5 – 4 – 3 TEMPCAL20M3 2 TEMPCAL20M2 1 TEMPCAL20M1 0 TEMPCAL20M0 2 fields
Field Bits What it does LOCK 7 Lock TEMPCAL20M 3:0 Oscillator temperature coefficient
OSC32KCTRLAOSC32K Control A
Address 0x78
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 RUNSTDBY 0 – 1 field
Field Bits What it does RUNSTDBY 1 Run standby
BOD Bod interface CTRLAControl A
Address 0x80
Reset 0x05
Access read/write 7 – 6 – 5 – 4 SAMPFREQ 3 ACTIVE1 2 ACTIVE0 1 SLEEP1 0 SLEEP0 3 fields
Field Bits What it does SAMPFREQ 4 Sample frequency0 1kHz sampling frequency1 125Hz sampling frequency ACTIVE 3:2 Operation in active mode0 Disabled1 Enabled2 Sampled3 Enabled with wake-up halted until BOD is ready SLEEP 1:0 Operation in sleep mode0 Disabled1 Enabled2 Sampled
CTRLBControl B
Address 0x81
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 LVL2 1 LVL1 0 LVL0 1 field
Field Bits What it does LVL 2:0 Bod level
VLMCTRLAVoltage level monitor Control
Address 0x88
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 VLMLVL1 0 VLMLVL0 1 field
Field Bits What it does VLMLVL 1:0 voltage level monitor level0 VLM threshold 5% above BOD level1 VLM threshold 15% above BOD level2 VLM threshold 25% above BOD level
INTCTRLVoltage level monitor interrupt Control
Address 0x89
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 VLMCFG1 1 VLMCFG0 0 VLMIE 2 fields
Field Bits What it does VLMCFG 2:1 Configuration0 Interrupt when supply goes below VLM level1 Interrupt when supply goes above VLM level2 Interrupt when supply crosses VLM level VLMIE 0 voltage level monitor interrrupt enable
INTFLAGSVoltage level monitor interrupt Flags
Address 0x8A
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 VLMIF 1 field
Field Bits What it does VLMIF 0 Voltage level monitor interrupt flag
STATUSVoltage level monitor status
Address 0x8B
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 VLMS 1 field
Field Bits What it does VLMS 0 Voltage level monitor status
VREF Voltage reference CTRLAControl A
Address 0xA0
Reset 0x00
Access read/write 7 – 6 ADC0REFSEL2 5 ADC0REFSEL1 4 ADC0REFSEL0 3 – 2 DAC0REFSEL2 1 DAC0REFSEL1 0 DAC0REFSEL0 2 fields
Field Bits What it does ADC0REFSEL 6:4 ADC0 reference select0 Voltage reference at 0.55V1 Voltage reference at 1.1V2 Voltage reference at 2.5V3 Voltage reference at 4.34V4 Voltage reference at 1.5V DAC0REFSEL 2:0 DAC0/AC0 reference select0 Voltage reference at 0.55V1 Voltage reference at 1.1V2 Voltage reference at 2.5V3 Voltage reference at 4.34V4 Voltage reference at 1.5V
CTRLBControl B
Address 0xA1
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 ADC0REFEN 0 DAC0REFEN 2 fields
Field Bits What it does ADC0REFEN 1 ADC0 reference enable DAC0REFEN 0 DAC0/AC0 reference enable
WDT Watch-Dog Timer CTRLAControl A
Address 0x100
Reset 0x00
Access read/write 7 WINDOW3 6 WINDOW2 5 WINDOW1 4 WINDOW0 3 PERIOD3 2 PERIOD2 1 PERIOD1 0 PERIOD0 2 fields
Field Bits What it does WINDOW 7:4 Window0 Off1 8 cycles (8ms)2 16 cycles (16ms)3 32 cycles (32ms)4 64 cycles (64ms)5 128 cycles (0.128s)6 256 cycles (0.256s)7 512 cycles (0.512s)8 1K cycles (1.0s)9 2K cycles (2.0s)10 4K cycles (4.1s)11 8K cycles (8.2s) PERIOD 3:0 Period0 Off1 8 cycles (8ms)2 16 cycles (16ms)3 32 cycles (32ms)4 64 cycles (64ms)5 128 cycles (0.128s)6 256 cycles (0.256s)7 512 cycles (0.512s)8 1K cycles (1.0s)9 2K cycles (2.0s)10 4K cycles (4.1s)11 8K cycles (8.2s)
STATUSStatus
Address 0x101
Reset 0x00
Access read/write 7 LOCK 6 – 5 – 4 – 3 – 2 – 1 – 0 SYNCBUSY 2 fields
Field Bits What it does LOCK 7 Lock enable SYNCBUSY 0 Syncronization busy
CPUINT Interrupt Controller CTRLAControl A
Address 0x110
Reset 0x00
Access read/write 7 – 6 IVSEL 5 CVT 4 – 3 – 2 – 1 – 0 LVL0RR 3 fields
Field Bits What it does IVSEL 6 Interrupt Vector Select CVT 5 Compact Vector Table LVL0RR 0 Round-robin Scheduling Enable
STATUSStatus
Address 0x111
Reset 0x00
Access read/write 7 NMIEX 6 – 5 – 4 – 3 – 2 – 1 LVL1EX 0 LVL0EX 3 fields
Field Bits What it does NMIEX 7 Non-maskable Interrupt Executing LVL1EX 1 Level 1 Interrupt Executing LVL0EX 0 Level 0 Interrupt Executing
LVL0PRIInterrupt Level 0 Priority
Address 0x112
Reset 0x00
Access read/write 7 LVL0PRI7 6 LVL0PRI6 5 LVL0PRI5 4 LVL0PRI4 3 LVL0PRI3 2 LVL0PRI2 1 LVL0PRI1 0 LVL0PRI0 1 field
Field Bits What it does LVL0PRI 7:0 Interrupt Level Priority
LVL1VECInterrupt Level 1 Priority Vector
Address 0x113
Reset 0x00
Access read/write 7 LVL1VEC7 6 LVL1VEC6 5 LVL1VEC5 4 LVL1VEC4 3 LVL1VEC3 2 LVL1VEC2 1 LVL1VEC1 0 LVL1VEC0 1 field
Field Bits What it does LVL1VEC 7:0 Interrupt Vector with High Priority
CRCSCAN CRCSCAN CTRLAControl A
Address 0x120
Reset 0x00
Access read/write 7 RESET 6 – 5 – 4 – 3 – 2 – 1 NMIEN 0 ENABLE 3 fields
Field Bits What it does RESET 7 Reset CRC scan NMIEN 1 Enable NMI Trigger ENABLE 0 Enable CRC scan
CTRLBControl B
Address 0x121
Reset 0x00
Access read/write 7 – 6 – 5 MODE1 4 MODE0 3 – 2 – 1 SRC1 0 SRC0 2 fields
Field Bits What it does MODE 5:4 CRC Flash Access Mode SRC 1:0 CRC Source0 CRC on entire flash1 CRC on boot and appl section of flash2 CRC on boot section of flash
STATUSStatus
Address 0x122
Reset 0x02
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 OK 0 BUSY 2 fields
Field Bits What it does OK 1 CRC Ok BUSY 0 CRC Busy
RTC Real-Time Counter CTRLAControl A
Address 0x140
Reset 0x00
Access read/write 7 RUNSTDBY 6 PRESCALER3 5 PRESCALER2 4 PRESCALER1 3 PRESCALER0 2 – 1 – 0 RTCEN 3 fields
Field Bits What it does RUNSTDBY 7 Run In Standby PRESCALER 6:3 Prescaling Factor0 RTC Clock / 11 RTC Clock / 22 RTC Clock / 43 RTC Clock / 84 RTC Clock / 165 RTC Clock / 326 RTC Clock / 647 RTC Clock / 1288 RTC Clock / 2569 RTC Clock / 51210 RTC Clock / 102411 RTC Clock / 204812 RTC Clock / 409613 RTC Clock / 819214 RTC Clock / 1638415 RTC Clock / 32768 RTCEN 0 Enable
STATUSStatus
Address 0x141
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 CMPBUSY 2 PERBUSY 1 CNTBUSY 0 CTRLABUSY 4 fields
Field Bits What it does CMPBUSY 3 Comparator Synchronization Busy Flag PERBUSY 2 Period Synchronization Busy Flag CNTBUSY 1 Count Synchronization Busy Flag CTRLABUSY 0 CTRLA Synchronization Busy Flag
INTCTRLInterrupt Control
Address 0x142
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 CMP 0 OVF 2 fields
Field Bits What it does CMP 1 Compare Match Interrupt enable OVF 0 Overflow Interrupt enable
INTFLAGSInterrupt Flags
Address 0x143
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 CMP 0 OVF 2 fields
Field Bits What it does CMP 1 Compare Match Interrupt OVF 0 Overflow Interrupt Flag
TEMPTemporary
Address 0x144
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – DBGCTRLDebug control
Address 0x145
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 DBGRUN 1 field
Field Bits What it does DBGRUN 0 Run in debug
CLKSELClock Select
Address 0x147
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 CLKSEL1 0 CLKSEL0 1 field
Field Bits What it does CLKSEL 1:0 Clock Select0 Internal 32kHz OSC1 Internal 1kHz OSC3 External Clock
CNTCounter
Address 0x148
Reset 0x0000
Access read/write
Size 16-bit PERPeriod
Address 0x14A
Reset 0x0000
Access read/write
Size 16-bit CMPCompare
Address 0x14C
Reset 0x0000
Access read/write
Size 16-bit PITCTRLAPIT Control A
Address 0x150
Reset 0x00
Access read/write 7 – 6 PERIOD3 5 PERIOD2 4 PERIOD1 3 PERIOD0 2 – 1 – 0 PITEN 2 fields
Field Bits What it does PERIOD 6:3 Period0 Off1 RTC Clock Cycles 42 RTC Clock Cycles 83 RTC Clock Cycles 164 RTC Clock Cycles 325 RTC Clock Cycles 646 RTC Clock Cycles 1287 RTC Clock Cycles 2568 RTC Clock Cycles 5129 RTC Clock Cycles 102410 RTC Clock Cycles 204811 RTC Clock Cycles 409612 RTC Clock Cycles 819213 RTC Clock Cycles 1638414 RTC Clock Cycles 32768 PITEN 0 Enable
PITSTATUSPIT Status
Address 0x151
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 CTRLBUSY 1 field
Field Bits What it does CTRLBUSY 0 CTRLA Synchronization Busy Flag
PITINTCTRLPIT Interrupt Control
Address 0x152
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 PI 1 field
Field Bits What it does PI 0 Periodic Interrupt
PITINTFLAGSPIT Interrupt Flags
Address 0x153
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 PI 1 field
Field Bits What it does PI 0 Periodic Interrupt
PITDBGCTRLPIT Debug control
Address 0x155
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 DBGRUN 1 field
Field Bits What it does DBGRUN 0 Run in debug
PORTMUX Port Multiplexer CTRLAPort Multiplexer Control A
Address 0x200
Reset 0x00
Access read/write 7 – 6 – 5 LUT1 4 LUT0 3 – 2 EVOUT2 1 EVOUT1 0 EVOUT0 5 fields
Field Bits What it does LUT1 5 Configurable Custom Logic LUT10 Default pin1 Alternate pin LUT0 4 Configurable Custom Logic LUT00 Default pin1 Alternate pin EVOUT2 2 Event Output 2 EVOUT1 1 Event Output 1 EVOUT0 0 Event Output 0
CTRLBPort Multiplexer Control B
Address 0x201
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 SPI0 1 – 0 USART0 2 fields
Field Bits What it does SPI0 2 Port Multiplexer SPI00 Default pins1 Alternate pins USART0 0 Port Multiplexer USART00 Default pins1 Alternate pins
CTRLCPort Multiplexer Control C
Address 0x202
Reset 0x00
Access read/write 7 – 6 – 5 TCA05 4 TCA04 3 TCA03 2 TCA02 1 TCA01 0 TCA00 6 fields
Field Bits What it does TCA05 5 Port Multiplexer TCA0 Output 50 Default pin1 Alternate pin TCA04 4 Port Multiplexer TCA0 Output 40 Default pin1 Alternate pin TCA03 3 Port Multiplexer TCA0 Output 30 Default pin1 Alternate pin TCA02 2 Port Multiplexer TCA0 Output 20 Default pin1 Alternate pin TCA01 1 Port Multiplexer TCA0 Output 10 Default pin1 Alternate pin TCA00 0 Port Multiplexer TCA0 Output 00 Default pin1 Alternate pin
CTRLDPort Multiplexer Control D
Address 0x203
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 TCB0 1 field
Field Bits What it does TCB0 0 Port Multiplexer TCB0 Default pin1 Alternate pin
AC0 Analog Comparator CTRLAControl A
Address 0x680
Reset 0x00
Access read/write 7 RUNSTDBY 6 OUTEN 5 INTMODE1 4 INTMODE0 3 – 2 HYSMODE1 1 HYSMODE0 0 ENABLE 5 fields
Field Bits What it does RUNSTDBY 7 Run in Standby Mode OUTEN 6 Output Buffer Enable INTMODE 5:4 Interrupt Mode0 Any Edge2 Negative Edge3 Positive Edge HYSMODE 2:1 Hysteresis Mode0 No hysteresis1 10mV hysteresis2 25mV hysteresis3 50mV hysteresis ENABLE 0 Enable
MUXCTRLAMux Control A
Address 0x682
Reset 0x00
Access read/write 7 INVERT 6 – 5 – 4 MUXPOS1 3 MUXPOS0 2 – 1 MUXNEG1 0 MUXNEG0 3 fields
Field Bits What it does INVERT 7 Invert AC Output MUXPOS 4:3 Positive Input MUX Selection0 Positive Pin 01 Positive Pin 12 Positive Pin 23 Positive Pin 3 MUXNEG 1:0 Negative Input MUX Selection0 Negative Pin 01 Negative Pin 12 Voltage Reference
INTCTRLInterrupt Control
Address 0x686
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 CMP 1 field
Field Bits What it does CMP 0 Analog Comparator 0 Interrupt Enable
STATUSStatus
Address 0x687
Reset 0x00
Access read/write 7 – 6 – 5 – 4 STATE 3 – 2 – 1 – 0 CMP 2 fields
Field Bits What it does STATE 4 Analog Comparator State CMP 0 Analog Comparator Interrupt Flag
USART0 Universal Synchronous and Asynchronous Receiver and Transmitter RXDATALReceive Data Low Byte
Address 0x800
Reset 0x00
Access read only 7 DATA7 6 DATA6 5 DATA5 4 DATA4 3 DATA3 2 DATA2 1 DATA1 0 DATA0 1 field
Field Bits What it does DATA 7:0 RX Data
RXDATAHReceive Data High Byte
Address 0x801
Reset 0x00
Access read only 7 RXCIF 6 BUFOVF 5 – 4 – 3 – 2 FERR 1 PERR 0 DATA8 5 fields
Field Bits What it does RXCIF 7 Receive Complete Interrupt Flag BUFOVF 6 Buffer Overflow FERR 2 Frame Error PERR 1 Parity Error DATA8 0 Receiver Data Register
TXDATALTransmit Data Low Byte
Address 0x802
Reset 0x00
Access read/write 7 DATA7 6 DATA6 5 DATA5 4 DATA4 3 DATA3 2 DATA2 1 DATA1 0 DATA0 1 field
Field Bits What it does DATA 7:0 Transmit Data Register
TXDATAHTransmit Data High Byte
Address 0x803
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 DATA8 1 field
Field Bits What it does DATA8 0 Transmit Data Register (CHSIZE=9bit)
STATUSStatus
Address 0x804
Reset 0x00
Access read/write 7 RXCIF 6 TXCIF 5 DREIF 4 RXSIF 3 ISFIF 2 – 1 BDF 0 WFB 7 fields
Field Bits What it does RXCIF 7 Receive Complete Interrupt Flag TXCIF 6 Transmit Interrupt Flag DREIF 5 Data Register Empty Flag RXSIF 4 Receive Start Interrupt ISFIF 3 Inconsistent Sync Field Interrupt Flag BDF 1 Break Detected Flag WFB 0 Wait For Break
CTRLAControl A
Address 0x805
Reset 0x00
Access read/write 7 RXCIE 6 TXCIE 5 DREIE 4 RXSIE 3 LBME 2 ABEIE 1 RS4851 0 RS4850 7 fields
Field Bits What it does RXCIE 7 Receive Complete Interrupt Enable TXCIE 6 Transmit Complete Interrupt Enable DREIE 5 Data Register Empty Interrupt Enable RXSIE 4 Receiver Start Frame Interrupt Enable LBME 3 Loop-back Mode Enable ABEIE 2 Auto-baud Error Interrupt Enable RS485 1:0 RS485 Mode internal transmitter0 RS485 Mode disabled1 RS485 Mode External drive2 RS485 Mode Internal drive
CTRLBControl B
Address 0x806
Reset 0x00
Access read/write 7 RXEN 6 TXEN 5 – 4 SFDEN 3 ODME 2 RXMODE1 1 RXMODE0 0 MPCM 6 fields
Field Bits What it does RXEN 7 Reciever enable TXEN 6 Transmitter Enable SFDEN 4 Start Frame Detection Enable ODME 3 Open Drain Mode Enable RXMODE 2:1 Receiver Mode0 Normal mode1 CLK2x mode2 Generic autobaud mode3 LIN constrained autobaud mode MPCM 0 Multi-processor Communication Mode
CTRLCControl C
Address 0x807
Reset 0x03
Access read/write 7 CMODE1 6 CMODE0 5 PMODE1 4 PMODE0 3 SBMODE 2 CHSIZE2 1 CHSIZE1 0 CHSIZE0 6 fields
Field Bits What it does CMODE 7:6 Communication Mode0 Asynchronous Mode1 Synchronous Mode2 Infrared Communication3 SPI Host Mode PMODE 5:4 Parity Mode0 No Parity2 Even Parity3 Odd Parity SBMODE 3 Stop Bit Mode0 1 stop bit1 2 stop bits CHSIZE 2:0 Character Size0 Character size: 5 bit1 Character size: 6 bit2 Character size: 7 bit3 Character size: 8 bit6 Character size: 9 bit read low byte first7 Character size: 9 bit read high byte first UDORD 2 SPI Host Mode, Data Order UCPHA 1 SPI Host Mode, Clock Phase
BAUDBaud Rate
Address 0x808
Reset 0x0000
Access read/write
Size 16-bit DBGCTRLDebug Control
Address 0x80B
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 DBGRUN 1 field
Field Bits What it does DBGRUN 0 Debug Run
EVCTRLEvent Control
Address 0x80C
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 IREI 1 field
Field Bits What it does IREI 0 IrDA Event Input Enable
TXPLCTRLIRCOM Transmitter Pulse Length Control
Address 0x80D
Reset 0x00
Access read/write 7 TXPL7 6 TXPL6 5 TXPL5 4 TXPL4 3 TXPL3 2 TXPL2 1 TXPL1 0 TXPL0 1 field
Field Bits What it does TXPL 7:0 Transmit pulse length
RXPLCTRLIRCOM Receiver Pulse Length Control
Address 0x80E
Reset 0x00
Access read/write 7 – 6 RXPL6 5 RXPL5 4 RXPL4 3 RXPL3 2 RXPL2 1 RXPL1 0 RXPL0 1 field
Field Bits What it does RXPL 6:0 Receiver Pulse Lenght
TWI0 Two-Wire Interface CTRLAControl A
Address 0x810
Reset 0x00
Access read/write 7 – 6 – 5 – 4 SDASETUP 3 SDAHOLD1 2 SDAHOLD0 1 FMPEN 0 – 3 fields
Field Bits What it does SDASETUP 4 SDA Setup Time0 SDA setup time is 4 clock cycles1 SDA setup time is 8 clock cycles SDAHOLD 3:2 SDA Hold Time0 SDA hold time off1 Typical 50ns hold time2 Typical 300ns hold time3 Typical 500ns hold time FMPEN 1 FM Plus Enable
DBGCTRLDebug Control Register
Address 0x812
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 DBGRUN 1 field
Field Bits What it does DBGRUN 0 Debug Run
MCTRLAHost Control A
Address 0x813
Reset 0x00
Access read/write 7 RIEN 6 WIEN 5 – 4 QCEN 3 TIMEOUT1 2 TIMEOUT0 1 SMEN 0 ENABLE 6 fields
Field Bits What it does RIEN 7 Read Interrupt Enable WIEN 6 Write Interrupt Enable QCEN 4 Quick Command Enable TIMEOUT 3:2 Inactive Bus Timeout0 Bus Timeout Disabled1 50 Microseconds2 100 Microseconds3 200 Microseconds SMEN 1 Smart Mode Enable ENABLE 0 Enable TWI Host
MCTRLBHost Control B
Address 0x814
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 FLUSH 2 ACKACT 1 MCMD1 0 MCMD0 3 fields
Field Bits What it does FLUSH 3 Flush ACKACT 2 Acknowledge Action MCMD 1:0 Command0 No Action1 Issue Repeated Start Condition2 Receive or Transmit Data, depending on DIR3 Issue Stop Condition
MSTATUSHost Status
Address 0x815
Reset 0x00
Access read/write 7 RIF 6 WIF 5 CLKHOLD 4 RXACK 3 ARBLOST 2 BUSERR 1 BUSSTATE1 0 BUSSTATE0 7 fields
Field Bits What it does RIF 7 Read Interrupt Flag WIF 6 Write Interrupt Flag CLKHOLD 5 Clock Hold RXACK 4 Received Acknowledge ARBLOST 3 Arbitration Lost BUSERR 2 Bus Error BUSSTATE 1:0 Bus State0 Unknown Bus State1 Bus is Idle2 This Module Controls The Bus3 The Bus is Busy
MBAUDHost Baud Rate Control
Address 0x816
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – MADDRHost Address
Address 0x817
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – MDATAHost Data
Address 0x818
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – SCTRLAClient Control A
Address 0x819
Reset 0x00
Access read/write 7 DIEN 6 APIEN 5 PIEN 4 – 3 – 2 PMEN 1 SMEN 0 ENABLE 6 fields
Field Bits What it does DIEN 7 Data Interrupt Enable APIEN 6 Address/Stop Interrupt Enable PIEN 5 Stop Interrupt Enable PMEN 2 Promiscuous Mode Enable SMEN 1 Smart Mode Enable ENABLE 0 Enable TWI Client
SCTRLBClient Control B
Address 0x81A
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 ACKACT 1 SCMD1 0 SCMD0 2 fields
Field Bits What it does ACKACT 2 Acknowledge Action SCMD 1:0 Command0 No Action2 Used To Complete a Transaction3 Used in Response to Address/Data Interrupt
SSTATUSClient Status
Address 0x81B
Reset 0x00
Access read/write 7 DIF 6 APIF 5 CLKHOLD 4 RXACK 3 COLL 2 BUSERR 1 DIR 0 AP 8 fields
Field Bits What it does DIF 7 Data Interrupt Flag APIF 6 Address/Stop Interrupt Flag CLKHOLD 5 Clock Hold RXACK 4 Received Acknowledge COLL 3 Collision BUSERR 2 Bus Error DIR 1 Read/Write Direction AP 0 Client Address or Stop0 Stop condition generated APIF1 Address detection generated APIF
SADDRClient Address
Address 0x81C
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – SDATAClient Data
Address 0x81D
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – SADDRMASKClient Address Mask
Address 0x81E
Reset 0x00
Access read/write 7 ADDRMASK6 6 ADDRMASK5 5 ADDRMASK4 4 ADDRMASK3 3 ADDRMASK2 2 ADDRMASK1 1 ADDRMASK0 0 ADDREN 2 fields
Field Bits What it does ADDRMASK 7:1 Address Mask ADDREN 0 Address Enable
SPI0 Serial Peripheral Interface CTRLAControl A
Address 0x820
Reset 0x00
Access read/write 7 – 6 DORD 5 MASTER 4 CLK2X 3 – 2 PRESC1 1 PRESC0 0 ENABLE 5 fields
Field Bits What it does DORD 6 Data Order Setting MASTER 5 Host Operation Enable CLK2X 4 Enable Double Speed PRESC 2:1 Prescaler0 System Clock / 41 System Clock / 162 System Clock / 643 System Clock / 128 ENABLE 0 Enable Module
CTRLBControl B
Address 0x821
Reset 0x00
Access read/write 7 BUFEN 6 BUFWR 5 – 4 – 3 – 2 SSD 1 MODE1 0 MODE0 4 fields
Field Bits What it does BUFEN 7 Buffer Mode Enable BUFWR 6 Buffer Write Mode SSD 2 Client Select Disable MODE 1:0 SPI Mode0 SPI Mode 01 SPI Mode 12 SPI Mode 23 SPI Mode 3
INTCTRLInterrupt Control
Address 0x822
Reset 0x00
Access read/write 7 RXCIE 6 TXCIE 5 DREIE 4 SSIE 3 – 2 – 1 – 0 IE 5 fields
Field Bits What it does RXCIE 7 Receive Complete Interrupt Enable TXCIE 6 Transfer Complete Interrupt Enable DREIE 5 Data Register Empty Interrupt Enable SSIE 4 Client Select Trigger Interrupt Enable IE 0 Interrupt Enable
INTFLAGSInterrupt Flags
Address 0x823
Reset 0x00
Access read/write 7 IF 6 TXCIF 5 DREIF 4 SSIF 3 – 2 – 1 – 0 BUFOVF 7 fields
Field Bits What it does IF 7 Interrupt Flag RXCIF 7 Receive Complete Interrupt Flag TXCIF 6 Transfer Complete Interrupt Flag WRCOL 6 Write Collision DREIF 5 Data Register Empty Interrupt Flag SSIF 4 Client Select Trigger Interrupt Flag BUFOVF 0 Buffer Overflow
DATAData
Address 0x824
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – TCB0 16-bit Timer Type B CTRLAControl A
Address 0xA40
Reset 0x00
Access read/write 7 – 6 RUNSTDBY 5 – 4 SYNCUPD 3 – 2 CLKSEL1 1 CLKSEL0 0 ENABLE 4 fields
Field Bits What it does RUNSTDBY 6 Run Standby SYNCUPD 4 Synchronize Update CLKSEL 2:1 Clock Select0 CLK_PER (No Prescaling)1 CLK_PER/2 (From Prescaler)2 Use Clock from TCA ENABLE 0 Enable
CTRLBControl Register B
Address 0xA41
Reset 0x00
Access read/write 7 – 6 ASYNC 5 CCMPINIT 4 CCMPEN 3 – 2 CNTMODE2 1 CNTMODE1 0 CNTMODE0 4 fields
Field Bits What it does ASYNC 6 Asynchronous Enable CCMPINIT 5 Pin Initial State CCMPEN 4 Pin Output Enable CNTMODE 2:0 Timer Mode0 Periodic Interrupt1 Periodic Timeout2 Input Capture Event3 Input Capture Frequency measurement4 Input Capture Pulse-Width measurement5 Input Capture Frequency and Pulse-Width measurement6 Single Shot7 8-bit PWM
EVCTRLEvent Control
Address 0xA44
Reset 0x00
Access read/write 7 – 6 FILTER 5 – 4 EDGE 3 – 2 – 1 – 0 CAPTEI 3 fields
Field Bits What it does FILTER 6 Input Capture Noise Cancellation Filter EDGE 4 Event Edge CAPTEI 0 Event Input Enable
INTCTRLInterrupt Control
Address 0xA45
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 CAPT 1 field
Field Bits What it does CAPT 0 Capture or Timeout
INTFLAGSInterrupt Flags
Address 0xA46
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 CAPT 1 field
Field Bits What it does CAPT 0 Capture or Timeout
STATUSStatus
Address 0xA47
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 RUN 1 field
Field Bits What it does RUN 0 Run
DBGCTRLDebug Control
Address 0xA48
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 DBGRUN 1 field
Field Bits What it does DBGRUN 0 Debug Run
TEMPTemporary Value
Address 0xA49
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – CNTCount
Address 0xA4A
Reset 0x0000
Access read/write
Size 16-bit CCMPCompare or Capture
Address 0xA4C
Reset 0x0000
Access read/write
Size 16-bit SYSCFG System Configuration Registers REVIDRevision ID
Address 0xF01
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – EXTBRKExternal Break
Address 0xF02
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 ENEXTBRK 1 field
Field Bits What it does ENEXTBRK 0 External break enable
NVMCTRL Non-volatile Memory Controller CTRLAControl A
Address 0x1000
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 CMD2 1 CMD1 0 CMD0 1 field
Field Bits What it does CMD 2:0 Command0 No Command1 Write page2 Erase page3 Erase and write page4 Page buffer clear5 Chip erase6 EEPROM erase7 Write fuse (PDI only)
CTRLBControl B
Address 0x1001
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 BOOTLOCK 0 APCWP 2 fields
Field Bits What it does BOOTLOCK 1 Boot Lock APCWP 0 Application code write protect
STATUSStatus
Address 0x1002
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 WRERROR 1 EEBUSY 0 FBUSY 3 fields
Field Bits What it does WRERROR 2 Write error EEBUSY 1 EEPROM busy FBUSY 0 Flash busy
INTCTRLInterrupt Control
Address 0x1003
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 EEREADY 1 field
Field Bits What it does EEREADY 0 EEPROM Ready
INTFLAGSInterrupt Flags
Address 0x1004
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 EEREADY 1 field
Field Bits What it does EEREADY 0 EEPROM Ready
DATAData
Address 0x1006
Reset 0x0000
Access read/write
Size 16-bit ADDRAddress
Address 0x1008
Reset 0x0000
Access read/write
Size 16-bit SIGROW Signature row DEVICEID0Device ID Byte 0
Address 0x1100
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – DEVICEID1Device ID Byte 1
Address 0x1101
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – DEVICEID2Device ID Byte 2
Address 0x1102
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – SERNUM0Serial Number Byte 0
Address 0x1103
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – SERNUM1Serial Number Byte 1
Address 0x1104
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – SERNUM2Serial Number Byte 2
Address 0x1105
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – SERNUM3Serial Number Byte 3
Address 0x1106
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – SERNUM4Serial Number Byte 4
Address 0x1107
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – SERNUM5Serial Number Byte 5
Address 0x1108
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – SERNUM6Serial Number Byte 6
Address 0x1109
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – SERNUM7Serial Number Byte 7
Address 0x110A
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – SERNUM8Serial Number Byte 8
Address 0x110B
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – SERNUM9Serial Number Byte 9
Address 0x110C
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – TEMPSENSE0Temperature Sensor Calibration Byte 0
Address 0x1120
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – TEMPSENSE1Temperature Sensor Calibration Byte 1
Address 0x1121
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – OSC16ERR3VOSC16 error at 3V
Address 0x1122
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – OSC16ERR5VOSC16 error at 5V
Address 0x1123
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – OSC20ERR3VOSC20 error at 3V
Address 0x1124
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – OSC20ERR5VOSC20 error at 5V
Address 0x1125
Reset 0x00
Access read only 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – FUSE Fuses WDTCFGWatchdog Configuration
Address 0x1280
Reset 0x00
Access read/write 7 WINDOW3 6 WINDOW2 5 WINDOW1 4 WINDOW0 3 PERIOD3 2 PERIOD2 1 PERIOD1 0 PERIOD0 2 fields
Field Bits What it does WINDOW 7:4 Watchdog Window Timeout Period0 Off1 8 cycles (8ms)2 16 cycles (16ms)3 32 cycles (32ms)4 64 cycles (64ms)5 128 cycles (0.128s)6 256 cycles (0.256s)7 512 cycles (0.512s)8 1K cycles (1.0s)9 2K cycles (2.0s)10 4K cycles (4.1s)11 8K cycles (8.2s) PERIOD 3:0 Watchdog Timeout Period0 Off1 8 cycles (8ms)2 16 cycles (16ms)3 32 cycles (32ms)4 64 cycles (64ms)5 128 cycles (0.128s)6 256 cycles (0.256s)7 512 cycles (0.512s)8 1K cycles (1.0s)9 2K cycles (2.0s)10 4K cycles (4.1s)11 8K cycles (8.2s)
BODCFGBOD Configuration
Address 0x1281
Reset 0x00
Access read/write 7 LVL2 6 LVL1 5 LVL0 4 SAMPFREQ 3 ACTIVE1 2 ACTIVE0 1 SLEEP1 0 SLEEP0 4 fields
Field Bits What it does LVL 7:5 BOD Level SAMPFREQ 4 BOD Sample Frequency0 1kHz sampling frequency1 125Hz sampling frequency ACTIVE 3:2 BOD Operation in Active Mode0 Disabled1 Enabled2 Sampled3 Enabled with wake-up halted until BOD is ready SLEEP 1:0 BOD Operation in Sleep Mode0 Disabled1 Enabled2 Sampled
OSCCFGOscillator Configuration
Address 0x1282
Reset 0x7E
Access read/write 7 OSCLOCK 6 – 5 – 4 – 3 – 2 – 1 FREQSEL1 0 FREQSEL0 2 fields
Field Bits What it does OSCLOCK 7 Oscillator Lock FREQSEL 1:0 Frequency Select
SYSCFG0System Configuration 0
Address 0x1285
Reset 0xF6
Access read/write 7 CRCSRC1 6 CRCSRC0 5 – 4 – 3 RSTPINCFG1 2 RSTPINCFG0 1 – 0 EESAVE 3 fields
Field Bits What it does CRCSRC 7:6 CRC Source0 The CRC is performed on the entire Flash (boot, application code and application data section).1 The CRC is performed on the boot section of Flash2 The CRC is performed on the boot and application code section of Flash3 Disable CRC. RSTPINCFG 3:2 Reset Pin Configuration0 GPIO mode1 UPDI mode2 Reset mode EESAVE 0 EEPROM Save
SYSCFG1System Configuration 1
Address 0x1286
Reset 0xFF
Access read/write 7 – 6 – 5 – 4 – 3 – 2 SUT2 1 SUT1 0 SUT0 1 field
Field Bits What it does SUT 2:0 Startup Time0 0 ms1 1 ms2 2 ms3 4 ms4 8 ms5 16 ms6 32 ms7 64 ms
APPENDApplication Code Section End
Address 0x1287
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – BOOTENDBoot Section End
Address 0x1288
Reset 0x00
Access read/write 7 – 6 – 5 – 4 – 3 – 2 – 1 – 0 – LOCKBIT Lockbit LOCKBITLock bits
Address 0x128A
Reset 0xC5
Access read/write 7 LB7 6 LB6 5 LB5 4 LB4 3 LB3 2 LB2 1 LB1 0 LB0 1 field
Field Bits What it does LB 7:0 Lock Bits58 Read and write lock197 No locks