Files
2025-11-23 20:39:37 +04:00

933 lines
73 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<device name="ATtiny441" family="AVR8" configuration-value="attiny441" architecture="AVRe" avr-family="TINY">
<property-groups>
<property-group key="signatures">
<property key="jtagid" value="0x9215"/>
<property key="signature0" value="0x1e"/>
<property key="signature1" value="0x92"/>
<property key="signature2" value="0x15"/>
</property-group>
<property-group key="ocd">
<property key="ocd_revision" value="1"/>
<property key="ocd_datareg" value="0x27"/>
<property key="progbase" value="0x0000"/>
<property key="buffers_per_flash_page" value="4"/>
</property-group>
<property-group key="jtag_interface">
<property key="allowfullpagestream" value="0x00"/>
</property-group>
<property-group key="isp_interface_stk600">
<property key="ispenterprogmode_timeout" value="200"/>
<property key="ispenterprogmode_stabdelay" value="100"/>
<property key="ispenterprogmode_cmdexedelay" value="25"/>
<property key="ispenterprogmode_synchloops" value="32"/>
<property key="ispenterprogmode_bytedelay" value="0"/>
<property key="ispenterprogmode_pollindex" value="3"/>
<property key="ispenterprogmode_pollvalue" value="0x53"/>
<property key="ispleaveprogmode_predelay" value="1"/>
<property key="ispleaveprogmode_postdelay" value="1"/>
<property key="ispchiperase_erasedelay" value="45"/>
<property key="ispchiperase_pollmethod" value="1"/>
<property key="ispprogramflash_mode" value="0x41"/>
<property key="ispprogramflash_blocksize" value="16"/>
<property key="ispprogramflash_delay" value="6"/>
<property key="ispprogramflash_cmd1" value="0x40"/>
<property key="ispprogramflash_cmd2" value="0x4C"/>
<property key="ispprogramflash_cmd3" value="0x00"/>
<property key="ispprogramflash_pollval1" value="0x00"/>
<property key="ispprogramflash_pollval2" value="0x00"/>
<property key="ispprogrameeprom_mode" value="0x41"/>
<property key="ispprogrameeprom_blocksize" value="4"/>
<property key="ispprogrameeprom_delay" value="5"/>
<property key="ispprogrameeprom_cmd1" value="0xC1"/>
<property key="ispprogrameeprom_cmd2" value="0xC2"/>
<property key="ispprogrameeprom_cmd3" value="0x00"/>
<property key="ispprogrameeprom_pollval1" value="0x00"/>
<property key="ispprogrameeprom_pollval2" value="0x00"/>
<property key="ispreadflash_blocksize" value="256"/>
<property key="ispreadeeprom_blocksize" value="256"/>
<property key="ispreadfuse_pollindex" value="4"/>
<property key="ispreadlock_pollindex" value="4"/>
<property key="ispreadsign_pollindex" value="4"/>
<property key="ispreadosccal_pollindex" value="4"/>
</property-group>
<property-group key="hvsp_interface_stk600">
<property key="hvspcontrolstack" value="0x4C 0x0C 0x1C 0x2C 0x3C 0x64 0x74 0x66 0x68 0x78 0x68 0x68 0x7A 0x6A 0x68 0x78 0x78 0x7D 0x6D 0x0C 0x80 0x40 0x20 0x10 0x11 0x08 0x04 0x02 0x03 0x08 0x04 0x0F"/>
<property key="hvspenterprogmode_stabdelay" value="100"/>
<property key="hvspenterprogmode_cmdexedelay" value="0"/>
<property key="hvspenterprogmode_synchcycles" value="6"/>
<property key="hvspenterprogmode_latchcycles" value="1"/>
<property key="hvspenterprogmode_togglevtg" value="1"/>
<property key="hvspenterprogmode_powoffdelay" value="20"/>
<property key="hvspenterprogmode_resetdelay1" value="0"/>
<property key="hvspenterprogmode_resetdelay2" value="70"/>
<property key="hvspleaveprogmode_stabdelay" value="100"/>
<property key="hvspleaveprogmode_resetdelay" value="25"/>
<property key="hvspchiperase_polltimeout" value="40"/>
<property key="hvspchiperase_erasetime" value="0"/>
<property key="hvspprogramflash_mode" value="0x07"/>
<property key="hvspprogramflash_blocksize" value="256"/>
<property key="hvspprogramflash_polltimeout" value="5"/>
<property key="hvspreadflash_blocksize" value="256"/>
<property key="hvspprogrameeprom_mode" value="0x05"/>
<property key="hvspprogrameeprom_blocksize" value="256"/>
<property key="hvspprogrameeprom_polltimeout" value="5"/>
<property key="hvspreadeeprom_blocksize" value="256"/>
<property key="hvspprogramfuse_polltimeout" value="25"/>
<property key="hvspprogramlock_polltimeout" value="25"/>
</property-group>
<property-group key="isp_interface">
<property key="ispenterprogmode_timeout" value="200"/>
<property key="ispenterprogmode_stabdelay" value="100"/>
<property key="ispenterprogmode_cmdexedelay" value="25"/>
<property key="ispenterprogmode_synchloops" value="32"/>
<property key="ispenterprogmode_bytedelay" value="0"/>
<property key="ispenterprogmode_pollindex" value="3"/>
<property key="ispenterprogmode_pollvalue" value="0x53"/>
<property key="ispleaveprogmode_predelay" value="1"/>
<property key="ispleaveprogmode_postdelay" value="1"/>
<property key="ispchiperase_erasedelay" value="45"/>
<property key="ispchiperase_pollmethod" value="1"/>
<property key="ispprogramflash_mode" value="0x41"/>
<property key="ispprogramflash_blocksize" value="16"/>
<property key="ispprogramflash_delay" value="10"/>
<property key="ispprogramflash_cmd1" value="0x40"/>
<property key="ispprogramflash_cmd2" value="0x4C"/>
<property key="ispprogramflash_cmd3" value="0x00"/>
<property key="ispprogramflash_pollval1" value="0x00"/>
<property key="ispprogramflash_pollval2" value="0x00"/>
<property key="ispprogrameeprom_mode" value="0x41"/>
<property key="ispprogrameeprom_blocksize" value="4"/>
<property key="ispprogrameeprom_delay" value="10"/>
<property key="ispprogrameeprom_cmd1" value="0xC1"/>
<property key="ispprogrameeprom_cmd2" value="0xC2"/>
<property key="ispprogrameeprom_cmd3" value="0x00"/>
<property key="ispprogrameeprom_pollval1" value="0x00"/>
<property key="ispprogrameeprom_pollval2" value="0x00"/>
<property key="ispreadflash_blocksize" value="256"/>
<property key="ispreadeeprom_blocksize" value="256"/>
<property key="ispreadfuse_pollindex" value="4"/>
<property key="ispreadlock_pollindex" value="4"/>
<property key="ispreadsign_pollindex" value="4"/>
<property key="ispreadosccal_pollindex" value="4"/>
</property-group>
<property-group key="hvsp_interface">
<property key="hvspcontrolstack" value="0x4C 0x0C 0x1C 0x2C 0x3C 0x64 0x74 0x66 0x68 0x78 0x68 0x68 0x7A 0x6A 0x68 0x78 0x78 0x7D 0x6D 0x0C 0x80 0x40 0x20 0x10 0x11 0x08 0x04 0x02 0x03 0x08 0x04 0x0F"/>
<property key="hvspenterprogmode_stabdelay" value="100"/>
<property key="hvspenterprogmode_cmdexedelay" value="0"/>
<property key="hvspenterprogmode_synchcycles" value="6"/>
<property key="hvspenterprogmode_latchcycles" value="1"/>
<property key="hvspenterprogmode_togglevtg" value="1"/>
<property key="hvspenterprogmode_powoffdelay" value="25"/>
<property key="hvspenterprogmode_resetdelay1" value="1"/>
<property key="hvspenterprogmode_resetdelay2" value="0"/>
<property key="hvspleaveprogmode_stabdelay" value="100"/>
<property key="hvspleaveprogmode_resetdelay" value="25"/>
<property key="hvspchiperase_polltimeout" value="40"/>
<property key="hvspchiperase_erasetime" value="0"/>
<property key="hvspprogramflash_mode" value="0x07"/>
<property key="hvspprogramflash_blocksize" value="256"/>
<property key="hvspprogramflash_polltimeout" value="5"/>
<property key="hvspreadflash_blocksize" value="256"/>
<property key="hvspprogrameeprom_mode" value="0x05"/>
<property key="hvspprogrameeprom_blocksize" value="256"/>
<property key="hvspprogrameeprom_polltimeout" value="5"/>
<property key="hvspreadeeprom_blocksize" value="256"/>
<property key="hvspprogramfuse_polltimeout" value="25"/>
<property key="hvspprogramlock_polltimeout" value="25"/>
</property-group>
</property-groups>
<address-spaces>
<address-space key="prog" start="0x00000000" size="4096" endianness="little">
<memory-segment key="internal_program_memory" name="Internal FLASH" type="flash" start="0x00000000" size="4096" page-size="16" access="RW" executable="1"/>
</address-space>
<address-space key="signatures" start="0x00000000" size="3" endianness="little">
<memory-segment key="signatures" name="Signatures" type="signatures" start="0x00000000" size="3" access="R" executable="0"/>
</address-space>
<address-space key="fuses" start="0x00000000" size="3" endianness="little">
<memory-segment key="fuses" name="Fuses" type="fuses" start="0x00000000" size="3" access="RW" executable="0"/>
</address-space>
<address-space key="lockbits" start="0x00000000" size="1" endianness="little">
<memory-segment key="lockbits" name="Lockbits" type="lockbits" start="0x00000000" size="1" access="RW" executable="0"/>
</address-space>
<address-space key="data" start="0x00000000" size="768" endianness="little">
<memory-segment key="gp_registers" name="General Purpose Registers" type="gp_registers" start="0x00000000" size="32" executable="0"/>
<memory-segment key="mapped_io" name="Mapped Input/Output" type="io" start="0x00000020" size="224" executable="0"/>
<memory-segment key="internal_ram" name="Internal RAM" type="ram" start="0x00000100" size="256" executable="0"/>
</address-space>
<address-space key="eeprom" start="0x00000000" size="256" endianness="little">
<memory-segment key="internal_eeprom" name="Internal EEPROM" type="eeprom" start="0x00000000" size="256" page-size="4" access="RW" executable="0"/>
</address-space>
<address-space key="osccal" start="0x00000000" size="2" endianness="little">
<memory-segment key="osccal" name="OSCCAL" type="osccal" start="0x00000000" size="2" access="R" executable="0"/>
</address-space>
</address-spaces>
<physical-interfaces>
<physical-interface value="debug_wire">
<signals>
<signal name="dW" pad-key="pb3"/>
</signals>
</physical-interface>
<physical-interface value="isp">
<signals>
<signal name="RESET" pad-key="pb3"/>
<signal name="MOSI" pad-key="pa6"/>
<signal name="MISO" pad-key="pa5"/>
<signal name="SCLK" pad-key="pa4"/>
</signals>
</physical-interface>
<physical-interface value="hvsp"/>
</physical-interfaces>
<peripherals>
<peripheral key="portb" name="PORTB" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="portb" address-space-key="data" offset="0x0"/>
<signals>
<signal name="PB0" pad-key="pb0" index="0" function="PORTB"/>
<signal name="PB1" pad-key="pb1" index="1" function="PORTB"/>
<signal name="PB2" pad-key="pb2" index="2" function="PORTB"/>
<signal name="PB3" pad-key="pb3" index="3" function="PORTB"/>
</signals>
</peripheral>
<peripheral key="porta" name="PORTA" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="porta" address-space-key="data" offset="0x0"/>
<signals>
<signal name="PA0" pad-key="pa0" index="0" function="PORTA"/>
<signal name="PA1" pad-key="pa1" index="1" function="PORTA"/>
<signal name="PA2" pad-key="pa2" index="2" function="PORTA"/>
<signal name="PA3" pad-key="pa3" index="3" function="PORTA"/>
<signal name="PA4" pad-key="pa4" index="4" function="PORTA"/>
<signal name="PA5" pad-key="pa5" index="5" function="PORTA"/>
<signal name="PA6" pad-key="pa6" index="6" function="PORTA"/>
<signal name="PA7" pad-key="pa7" index="7" function="PORTA"/>
</signals>
</peripheral>
<peripheral key="usart1" name="USART1" module-key="usart">
<register-group-instance description="USART" register-group-key="usart1" address-space-key="data" offset="0x0"/>
<signals>
<signal name="RXD" pad-key="pa4" function="USART"/>
<signal name="TXD" pad-key="pa5" function="USART"/>
<signal name="XCK" pad-key="pa6" function="USART"/>
</signals>
</peripheral>
<peripheral key="usart0" name="USART0" module-key="usart">
<register-group-instance description="USART" register-group-key="usart0" address-space-key="data" offset="0x0"/>
<signals>
<signal name="TXD" pad-key="pa1" function="USART" field="U0MAP"/>
<signal name="RXD" pad-key="pa2" function="USART" field="U0MAP"/>
<signal name="XCK" pad-key="pa3" function="USART" field="U0MAP"/>
<signal name="TXD" pad-key="pa7" alternative="true" function="USART_ALT" field="U0MAP"/>
<signal name="RXD" pad-key="pb2" alternative="true" function="USART_ALT" field="U0MAP"/>
<signal name="XCK" pad-key="pa3" alternative="true" function="USART_ALT" field="U0MAP"/>
</signals>
</peripheral>
<peripheral key="wdt" name="WDT" module-key="wdt">
<register-group-instance description="Watchdog Timer" register-group-key="wdt" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="twi" name="TWI" module-key="twi">
<register-group-instance description="Two Wire Serial Interface" register-group-key="twi" address-space-key="data" offset="0x0"/>
<signals>
<signal name="SCL" pad-key="pa4" function="TWI"/>
<signal name="SDA" pad-key="pa6" function="TWI"/>
</signals>
</peripheral>
<peripheral key="adc" name="ADC" module-key="adc">
<register-group-instance description="Analog-to-Digital Converter" register-group-key="adc" address-space-key="data" offset="0x0"/>
<signals>
<signal name="ADC" pad-key="pa0" index="0" function="ADC"/>
<signal name="ADC" pad-key="pa1" index="1" function="ADC"/>
<signal name="ADC" pad-key="pa2" index="2" function="ADC"/>
<signal name="ADC" pad-key="pa3" index="3" function="ADC"/>
<signal name="ADC" pad-key="pa4" index="4" function="ADC"/>
<signal name="ADC" pad-key="pa5" index="5" function="ADC"/>
<signal name="ADC" pad-key="pa6" index="6" function="ADC"/>
<signal name="ADC" pad-key="pa7" index="7" function="ADC"/>
<signal name="ADC" pad-key="pb2" index="8" function="ADC"/>
<signal name="ADC" pad-key="pb3" index="9" function="ADC"/>
<signal name="ADC" pad-key="pb0" index="10" function="ADC"/>
<signal name="ADC" pad-key="pb1" index="11" function="ADC"/>
<signal name="AREF" pad-key="pa0" function="AREF"/>
</signals>
</peripheral>
<peripheral key="ac" name="AC" module-key="ac">
<register-group-instance description="Analog Comparator" register-group-key="ac" address-space-key="data" offset="0x0"/>
<signals>
<signal name="AIN0" pad-key="pa1" index="0" function="ACIN0"/>
<signal name="AIN0" pad-key="pa2" index="1" function="ACIN0"/>
<signal name="ACO0" pad-key="pa5" function="ACOUT"/>
<signal name="ACO1" pad-key="pa6" function="ACOUT"/>
<signal name="AIN1" pad-key="pa3" index="0" function="ACIN1"/>
<signal name="AIN1" pad-key="pa4" index="1" function="ACIN1"/>
</signals>
</peripheral>
<peripheral key="eeprom" name="EEPROM" module-key="eeprom">
<register-group-instance description="EEPROM" register-group-key="eeprom" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="tc1" name="TC1" module-key="tc16">
<register-group-instance description="Timer/Counter, 16-bit" register-group-key="tc1" address-space-key="data" offset="0x0"/>
<signals>
<signal name="TOCC" pad-key="pa1" index="0" function="OC"/>
<signal name="TOCC" pad-key="pa2" index="1" function="OC"/>
<signal name="TOCC" pad-key="pa3" index="2" function="OC"/>
<signal name="TOCC" pad-key="pa4" index="3" function="OC"/>
<signal name="TOCC" pad-key="pa5" index="4" function="OC"/>
<signal name="TOCC" pad-key="pa6" index="5" function="OC"/>
<signal name="TOCC" pad-key="pa7" index="6" function="OC"/>
<signal name="TOCC" pad-key="pb2" index="7" function="OC"/>
<signal name="T0" pad-key="pa3" function="CS"/>
<signal name="T1" pad-key="pa4" function="CS"/>
<signal name="T2" pad-key="pa5" function="CS"/>
<signal name="ICP1" pad-key="pa7" function="ICP"/>
</signals>
</peripheral>
<peripheral key="tc2" name="TC2" module-key="tc16">
<register-group-instance description="Timer/Counter, 16-bit" register-group-key="tc2" address-space-key="data" offset="0x0"/>
<signals>
<signal name="TOCC" pad-key="pa1" index="0" function="OC"/>
<signal name="TOCC" pad-key="pa2" index="1" function="OC"/>
<signal name="TOCC" pad-key="pa3" index="2" function="OC"/>
<signal name="TOCC" pad-key="pa4" index="3" function="OC"/>
<signal name="TOCC" pad-key="pa5" index="4" function="OC"/>
<signal name="TOCC" pad-key="pa6" index="5" function="OC"/>
<signal name="TOCC" pad-key="pa7" index="6" function="OC"/>
<signal name="TOCC" pad-key="pb2" index="7" function="OC"/>
<signal name="T0" pad-key="pa3" function="CS"/>
<signal name="T1" pad-key="pa4" function="CS"/>
<signal name="T2" pad-key="pa5" function="CS"/>
<signal name="ICP2" pad-key="pb2" function="ICP"/>
</signals>
</peripheral>
<peripheral key="tc0" name="TC0" module-key="tc8">
<register-group-instance description="Timer/Counter, 8-bit" register-group-key="tc0" address-space-key="data" offset="0x0"/>
<signals>
<signal name="TOCC" pad-key="pa1" index="0" function="OC"/>
<signal name="TOCC" pad-key="pa2" index="0" function="OC"/>
<signal name="TOCC" pad-key="pa3" index="0" function="OC"/>
<signal name="TOCC" pad-key="pa4" index="0" function="OC"/>
<signal name="TOCC" pad-key="pa5" index="0" function="OC"/>
<signal name="TOCC" pad-key="pa6" index="0" function="OC"/>
<signal name="TOCC" pad-key="pa7" index="0" function="OC"/>
<signal name="TOCC" pad-key="pb2" index="0" function="OC"/>
<signal name="T0" pad-key="pa3" function="CS"/>
<signal name="T1" pad-key="pa4" function="CS"/>
<signal name="T2" pad-key="pa5" function="CS"/>
</signals>
</peripheral>
<peripheral key="exint" name="EXINT" module-key="exint">
<register-group-instance description="External Interrupts" register-group-key="exint" address-space-key="data" offset="0x0"/>
<signals>
<signal name="PCINT" pad-key="pa0" index="0" function="EXTINT"/>
<signal name="PCINT" pad-key="pa1" index="1" function="EXTINT"/>
<signal name="PCINT" pad-key="pa2" index="2" function="EXTINT"/>
<signal name="PCINT" pad-key="pa3" index="3" function="EXTINT"/>
<signal name="PCINT" pad-key="pa4" index="4" function="EXTINT"/>
<signal name="PCINT" pad-key="pa5" index="5" function="EXTINT"/>
<signal name="PCINT" pad-key="pa6" index="6" function="EXTINT"/>
<signal name="PCINT" pad-key="pa7" index="7" function="EXTINT"/>
<signal name="PCINT" pad-key="pb0" index="8" function="EXTINT"/>
<signal name="PCINT" pad-key="pb1" index="9" function="EXTINT"/>
<signal name="PCINT" pad-key="pb2" index="10" function="EXTINT"/>
<signal name="PCINT" pad-key="pb3" index="11" function="EXTINT"/>
<signal name="INT" pad-key="pb1" index="0" function="EXTINT"/>
</signals>
</peripheral>
<peripheral key="cpu" name="CPU" module-key="cpu">
<register-group-instance description="CPU Registers" register-group-key="cpu" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="tocpm" name="TOCPM" module-key="tocpm">
<register-group-instance description="Timer/Counter Output Compare Pin" register-group-key="tocpm" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="spi" name="SPI" module-key="spi">
<register-group-instance description="Serial Peripheral Interface" register-group-key="spi" address-space-key="data" offset="0x0"/>
<signals>
<signal name="MISO" pad-key="pa0" alternative="true" function="SPI_ALT" field="SPIMAP"/>
<signal name="MOSI" pad-key="pa1" alternative="true" function="SPI_ALT" field="SPIMAP"/>
<signal name="SS" pad-key="pa2" alternative="true" function="SPI_ALT" field="SPIMAP"/>
<signal name="SCK" pad-key="pa3" alternative="true" function="SPI_ALT" field="SPIMAP"/>
<signal name="SCK" pad-key="pa4" function="SPI" field="SPIMAP"/>
<signal name="MISO" pad-key="pa5" function="SPI" field="SPIMAP"/>
<signal name="MOSI" pad-key="pa6" function="SPI" field="SPIMAP"/>
<signal name="SS" pad-key="pa7" function="SPI" field="SPIMAP"/>
</signals>
</peripheral>
<peripheral key="fuse" name="FUSE" module-key="fuse">
<register-group-instance description="Fuses" register-group-key="fuse" address-space-key="fuses" offset="0x0"/>
</peripheral>
<peripheral key="lockbit" name="LOCKBIT" module-key="lockbit">
<register-group-instance description="Lockbits" register-group-key="lockbit" address-space-key="lockbits" offset="0x0"/>
</peripheral>
</peripherals>
<modules>
<module key="fuse" name="FUSE" description="Fuses">
<register-group key="fuse" name="FUSE">
<register key="low" name="LOW" offset="0x00" size="1" initial-value="0x62">
<bit-field key="ckdiv8" name="CKDIV8" description="Divide clock by 8 internally" mask="0x80"/>
<bit-field key="ckout" name="CKOUT" description="Clock output on PORTC2" mask="0x40"/>
<bit-field key="sut_cksel" name="SUT_CKSEL" description="Select Clock Source" mask="0x1F"/>
</register>
<register key="high" name="HIGH" offset="0x01" size="1" initial-value="0xDF">
<bit-field key="rstdisbl" name="RSTDISBL" description="Reset Disabled (Enable PC2 as i/o pin)" mask="0x80"/>
<bit-field key="dwen" name="DWEN" description="Debug Wire enable" mask="0x40"/>
<bit-field key="spien" name="SPIEN" description="Serial program downloading (SPI) enabled" mask="0x20"/>
<bit-field key="wdton" name="WDTON" description="Watch-dog Timer always on" mask="0x10"/>
<bit-field key="eesave" name="EESAVE" description="Preserve EEPROM through the Chip Erase cycle" mask="0x08"/>
<bit-field key="bodlevel" name="BODLEVEL" description="Brown-out Detector trigger level" mask="0x07"/>
</register>
<register key="extended" name="EXTENDED" offset="0x02" size="1" initial-value="0xFF">
<bit-field key="ulposcsel" name="ULPOSCSEL" description="Frequency selection for internal ULP oscillator. The selection only affects system clock, watchdog and reset timeout always use 32 kHz clock." mask="0xE0"/>
<bit-field key="bodpd" name="BODPD" description="BOD mode of operation when the device is in sleep mode" mask="0x18"/>
<bit-field key="bodact" name="BODACT" description="BOD mode of operation when the device is active or idle" mask="0x06"/>
<bit-field key="selfprgen" name="SELFPRGEN" description="Self Programming enable" mask="0x01"/>
</register>
</register-group>
</module>
<module key="lockbit" name="LOCKBIT" description="Lockbits">
<register-group key="lockbit" name="LOCKBIT">
<register key="lockbit" name="LOCKBIT" offset="0x00" size="1" initial-value="0xFF">
<bit-field key="lb" name="LB" description="Memory Lock" mask="0x03"/>
</register>
</register-group>
</module>
<module key="gpio_port" name="PORT" description="I/O Port">
<register-group key="portb" name="PORTB">
<register key="pinb" name="PINB" description="Port B Data register" offset="0x36" size="1"/>
<register key="ddrb" name="DDRB" description="Data Direction Register, Port B" offset="0x37" size="1"/>
<register key="portb" name="PORTB" description="Input Pins, Port B" offset="0x38" size="1"/>
<register key="pueb" name="PUEB" description="Pull-up Enable Control Register" offset="0x62" size="1"/>
<register key="portcr" name="PORTCR" description="Port Control Register" offset="0x64" size="1"/>
</register-group>
<register-group key="porta" name="PORTA">
<register key="pina" name="PINA" description="Port A Input Pins" offset="0x39" size="1"/>
<register key="ddra" name="DDRA" description="Data Direction Register, Port A" offset="0x3A" size="1"/>
<register key="porta" name="PORTA" description="Port A Data Register" offset="0x3B" size="1"/>
<register key="puea" name="PUEA" description="Pull-up Enable Control Register" offset="0x63" size="1"/>
<register key="portcr" name="PORTCR" description="Port Control Register" offset="0x64" size="1"/>
<register key="phde" name="PHDE" description="Port High Drive Enable Register" offset="0x6A" size="1">
<bit-field key="phdea" name="PHDEA" description="PortA High Drive Enable" mask="0x03"/>
</register>
</register-group>
</module>
<module key="usart" name="USART" description="USART">
<register-group key="usart1" name="USART1">
<register key="udr1" name="UDR1" description="USART I/O Data Register" offset="0x90" size="1"/>
<register key="ubrr1" name="UBRR1" description="USART Baud Rate Register Bytes" offset="0x91" size="2"/>
<register key="ucsr1d" name="UCSR1D" description="USART Control and Status Register D" offset="0x93" size="1">
<bit-field key="rxsie1" name="RXSIE1" description="USART RX Start Interrupt Enable" mask="0x80"/>
<bit-field key="rxs1" name="RXS1" description="USART RX Start Flag" mask="0x40"/>
<bit-field key="sfde1" name="SFDE1" description="USART RX Start Frame Detection Enable" mask="0x20"/>
</register>
<register key="ucsr1c" name="UCSR1C" description="USART Control and Status Register C" offset="0x94" size="1">
<bit-field key="umsel1" name="UMSEL1" description="USART Mode Select" mask="0xC0"/>
<bit-field key="upm1" name="UPM1" description="Parity Mode Bits" mask="0x30"/>
<bit-field key="usbs1" name="USBS1" description="Stop Bit Select" mask="0x08"/>
<bit-field key="ucsz1" name="UCSZ1" description="Character Size" mask="0x06"/>
<bit-field key="ucpol1" name="UCPOL1" description="Clock Polarity" mask="0x01"/>
</register>
<register key="ucsr1b" name="UCSR1B" description="USART Control and Status Register B" offset="0x95" size="1">
<bit-field key="rxcie1" name="RXCIE1" description="RX Complete Interrupt Enable" mask="0x80"/>
<bit-field key="txcie1" name="TXCIE1" description="TX Complete Interrupt Enable" mask="0x40"/>
<bit-field key="udrie1" name="UDRIE1" description="USART Data register Empty Interrupt Enable" mask="0x20"/>
<bit-field key="rxen1" name="RXEN1" description="Receiver Enable" mask="0x10"/>
<bit-field key="txen1" name="TXEN1" description="Transmitter Enable" mask="0x08"/>
<bit-field key="ucsz12" name="UCSZ12" description="Character Size" mask="0x04"/>
<bit-field key="rxb81" name="RXB81" description="Receive Data Bit 8" mask="0x02"/>
<bit-field key="txb81" name="TXB81" description="Transmit Data Bit 8" mask="0x01"/>
</register>
<register key="ucsr1a" name="UCSR1A" description="USART Control and Status Register A" offset="0x96" size="1">
<bit-field key="rxc1" name="RXC1" description="USART Receive Complete" mask="0x80"/>
<bit-field key="txc1" name="TXC1" description="USART Transmitt Complete" mask="0x40"/>
<bit-field key="udre1" name="UDRE1" description="USART Data Register Empty" mask="0x20"/>
<bit-field key="fe1" name="FE1" description="Framing Error" mask="0x10"/>
<bit-field key="dor1" name="DOR1" description="Data overRun" mask="0x08"/>
<bit-field key="upe1" name="UPE1" description="Parity Error" mask="0x04"/>
<bit-field key="u2x1" name="U2X1" description="Double the USART transmission speed" mask="0x02"/>
<bit-field key="mpcm1" name="MPCM1" description="Multi-processor Communication Mode" mask="0x01"/>
</register>
</register-group>
<register-group key="usart0" name="USART0">
<register key="remap" name="REMAP" description="Remap Port Pins" offset="0x65" size="1">
<bit-field key="u0map" name="U0MAP" description="USART0 Pin Mapping" mask="0x01"/>
</register>
<register key="udr0" name="UDR0" description="USART I/O Data Register" offset="0x80" size="1"/>
<register key="ubrr0" name="UBRR0" description="USART Baud Rate Register Bytes" offset="0x81" size="2"/>
<register key="ucsr0d" name="UCSR0D" description="USART Control and Status Register D" offset="0x83" size="1">
<bit-field key="rxsie0" name="RXSIE0" description="USART RX Start Interrupt Enable" mask="0x80"/>
<bit-field key="rxs0" name="RXS0" description="USART RX Start Flag" mask="0x40"/>
<bit-field key="sfde0" name="SFDE0" description="USART RX Start Frame Detection Enable" mask="0x20"/>
</register>
<register key="ucsr0c" name="UCSR0C" description="USART Control and Status Register C" offset="0x84" size="1">
<bit-field key="umsel0" name="UMSEL0" description="USART Mode Select" mask="0xC0"/>
<bit-field key="upm0" name="UPM0" description="Parity Mode Bits" mask="0x30"/>
<bit-field key="usbs0" name="USBS0" description="Stop Bit Select" mask="0x08"/>
<bit-field key="ucsz0" name="UCSZ0" description="Character Size" mask="0x06"/>
<bit-field key="ucpol0" name="UCPOL0" description="Clock Polarity" mask="0x01"/>
</register>
<register key="ucsr0b" name="UCSR0B" description="USART Control and Status Register B" offset="0x85" size="1">
<bit-field key="rxcie0" name="RXCIE0" description="RX Complete Interrupt Enable" mask="0x80"/>
<bit-field key="txcie0" name="TXCIE0" description="TX Complete Interrupt Enable" mask="0x40"/>
<bit-field key="udrie0" name="UDRIE0" description="USART Data register Empty Interrupt Enable" mask="0x20"/>
<bit-field key="rxen0" name="RXEN0" description="Receiver Enable" mask="0x10"/>
<bit-field key="txen0" name="TXEN0" description="Transmitter Enable" mask="0x08"/>
<bit-field key="ucsz02" name="UCSZ02" description="Character Size" mask="0x04"/>
<bit-field key="rxb80" name="RXB80" description="Receive Data Bit 8" mask="0x02"/>
<bit-field key="txb80" name="TXB80" description="Transmit Data Bit 8" mask="0x01"/>
</register>
<register key="ucsr0a" name="UCSR0A" description="USART Control and Status Register A" offset="0x86" size="1">
<bit-field key="rxc0" name="RXC0" description="USART Receive Complete" mask="0x80"/>
<bit-field key="txc0" name="TXC0" description="USART Transmitt Complete" mask="0x40"/>
<bit-field key="udre0" name="UDRE0" description="USART Data Register Empty" mask="0x20"/>
<bit-field key="fe0" name="FE0" description="Framing Error" mask="0x10"/>
<bit-field key="dor0" name="DOR0" description="Data overRun" mask="0x08"/>
<bit-field key="upe0" name="UPE0" description="Parity Error" mask="0x04"/>
<bit-field key="u2x0" name="U2X0" description="Double the USART transmission speed" mask="0x02"/>
<bit-field key="mpcm0" name="MPCM0" description="Multi-processor Communication Mode" mask="0x01"/>
</register>
</register-group>
</module>
<module key="wdt" name="WDT" description="Watchdog Timer">
<register-group key="wdt" name="WDT">
<register key="wdtcsr" name="WDTCSR" description="Watchdog Timer Control and Status Register" offset="0x41" size="1">
<bit-field key="wdif" name="WDIF" description="Watchdog Timer Interrupt Flag" mask="0x80"/>
<bit-field key="wdie" name="WDIE" description="Watchdog Timer Interrupt Enable" mask="0x40"/>
<bit-field key="wdp" name="WDP" description="Watchdog Timer Prescaler Bits" mask="0x27"/>
<bit-field key="wde" name="WDE" description="Watch Dog Enable" mask="0x08"/>
</register>
</register-group>
</module>
<module key="twi" name="TWI" description="Two Wire Serial Interface">
<register-group key="twi" name="TWI">
<register key="twsd" name="TWSD" description="TWI Slave Data Register" offset="0xA0" size="1">
<bit-field key="twsd" name="TWSD" description="TWI slave data bit" mask="0xFF"/>
</register>
<register key="twsam" name="TWSAM" description="TWI Slave Address Mask Register" offset="0xA1" size="1">
<bit-field key="twsam" name="TWSAM" description="TWI Address Mask Bits" mask="0xFE"/>
<bit-field key="twae" name="TWAE" description="TWI Address Enable" mask="0x01"/>
</register>
<register key="twsa" name="TWSA" description="TWI Slave Address Register" offset="0xA2" size="1"/>
<register key="twssra" name="TWSSRA" description="TWI Slave Status Register A" offset="0xA3" size="1">
<bit-field key="twdif" name="TWDIF" description="TWI Data Interrupt Flag." mask="0x80"/>
<bit-field key="twasif" name="TWASIF" description="TWI Address/Stop Interrupt Flag" mask="0x40"/>
<bit-field key="twch" name="TWCH" description="TWI Clock Hold" mask="0x20"/>
<bit-field key="twra" name="TWRA" description="TWI Receive Acknowledge" mask="0x10"/>
<bit-field key="twc" name="TWC" description="TWI Collision" mask="0x08"/>
<bit-field key="twbe" name="TWBE" description="TWI Bus Error" mask="0x04"/>
<bit-field key="twdir" name="TWDIR" description="TWI Read/Write Direction" mask="0x02"/>
<bit-field key="twas" name="TWAS" description="TWI Address or Stop" mask="0x01"/>
</register>
<register key="twscrb" name="TWSCRB" description="TWI Slave Control Register B" offset="0xA4" size="1">
<bit-field key="twhnm" name="TWHNM" description="TWI High Noise Mode" mask="0x08"/>
<bit-field key="twaa" name="TWAA" description="TWI Acknowledge Action" mask="0x04"/>
<bit-field key="twcmd" name="TWCMD" mask="0x03"/>
</register>
<register key="twscra" name="TWSCRA" description="TWI Slave Control Register A" offset="0xA5" size="1">
<bit-field key="twshe" name="TWSHE" description="TWI SDA Hold Time Enable" mask="0x80"/>
<bit-field key="twdie" name="TWDIE" description="TWI Data Interrupt Enable" mask="0x20"/>
<bit-field key="twasie" name="TWASIE" description="TWI Address/Stop Interrupt Enable" mask="0x10"/>
<bit-field key="twen" name="TWEN" description="Two-Wire Interface Enable" mask="0x08"/>
<bit-field key="twsie" name="TWSIE" description="TWI Stop Interrupt Enable" mask="0x04"/>
<bit-field key="twpme" name="TWPME" description="TWI Promiscuous Mode Enable" mask="0x02"/>
<bit-field key="twsme" name="TWSME" description="TWI Smart Mode Enable" mask="0x01"/>
</register>
</register-group>
</module>
<module key="adc" name="ADC" description="Analog-to-Digital Converter">
<register-group key="adc" name="ADC">
<register key="adcsrb" name="ADCSRB" description="ADC Control and Status Register B" offset="0x24" size="1">
<bit-field key="adlar" name="ADLAR" mask="0x08"/>
<bit-field key="adts" name="ADTS" description="ADC Auto Trigger Sources" mask="0x07"/>
</register>
<register key="adcsra" name="ADCSRA" description="The ADC Control and Status register" offset="0x25" size="1">
<bit-field key="aden" name="ADEN" description="ADC Enable" mask="0x80"/>
<bit-field key="adsc" name="ADSC" description="ADC Start Conversion" mask="0x40"/>
<bit-field key="adate" name="ADATE" description="ADC Auto Trigger Enable" mask="0x20"/>
<bit-field key="adif" name="ADIF" description="ADC Interrupt Flag" mask="0x10"/>
<bit-field key="adie" name="ADIE" description="ADC Interrupt Enable" mask="0x08"/>
<bit-field key="adps" name="ADPS" description="ADC Prescaler Select Bits" mask="0x07"/>
</register>
<register key="adc" name="ADC" description="ADC Data Register Bytes" offset="0x26" size="2"/>
<register key="admuxb" name="ADMUXB" description="The ADC multiplexer Selection Register B" offset="0x28" size="1">
<bit-field key="refs" name="REFS" description="Reference Selection Bits" mask="0xE0"/>
<bit-field key="gsel" name="GSEL" description="Gain Selection Bits" mask="0x03"/>
</register>
<register key="admuxa" name="ADMUXA" description="The ADC multiplexer Selection Register A" offset="0x29" size="1">
<bit-field key="mux" name="MUX" description="Analog Channel and Gain Selection Bits" mask="0x3F"/>
</register>
<register key="didr0" name="DIDR0" description="Digital Input Disable Register 0" offset="0x60" size="1">
<bit-field key="adc7d" name="ADC7D" description="ADC7 Digital input Disable" mask="0x80"/>
<bit-field key="adc6d" name="ADC6D" description="ADC6 Digital input Disable" mask="0x40"/>
<bit-field key="adc5d" name="ADC5D" description="ADC5 Digital input Disable" mask="0x20"/>
<bit-field key="adc4d" name="ADC4D" description="ADC4/AIN11 Digital input Disable" mask="0x10"/>
<bit-field key="adc3d" name="ADC3D" description="ADC3/AIN10 Digital Input Disable" mask="0x08"/>
<bit-field key="adc2d" name="ADC2D" description="ADC2/AIN01 Digital input Disable" mask="0x04"/>
<bit-field key="adc1d" name="ADC1D" description="ADC1/AIN00 Digital input Disable" mask="0x02"/>
<bit-field key="adc0d" name="ADC0D" description="ADC0/AREF Digital input Disable" mask="0x01"/>
</register>
<register key="didr1" name="DIDR1" description="Digital Input Disable Register 1" offset="0x61" size="1">
<bit-field key="adc9d" name="ADC9D" description="ADC9 Digital Input Disable" mask="0x08"/>
<bit-field key="adc8d" name="ADC8D" description="ADC8 Digital input Disable" mask="0x04"/>
<bit-field key="adc10d" name="ADC10D" description="ADC10 Digital input Disable" mask="0x02"/>
<bit-field key="adc11d" name="ADC11D" description="ADC11 Digital input Disable" mask="0x01"/>
</register>
</register-group>
</module>
<module key="ac" name="AC" description="Analog Comparator">
<register-group key="ac" name="AC">
<register key="acsr0a" name="ACSR0A" description="Analog Comparator 0 Control And Status Register A" offset="0x2A" size="1">
<bit-field key="acd0" name="ACD0" description="Analog Comparator 0 Disable" mask="0x80"/>
<bit-field key="acpmux2" name="ACPMUX2" description="Analog Comparator 0 Positive Input Multiplexer Bit 2" mask="0x40"/>
<bit-field key="aco0" name="ACO0" description="Analog Comparator 0 Output" mask="0x20"/>
<bit-field key="aci0" name="ACI0" description="Analog Comparator 0 Interrupt Flag" mask="0x10"/>
<bit-field key="acie0" name="ACIE0" description="Analog Comparator 0 Interrupt Enable" mask="0x08"/>
<bit-field key="acic0" name="ACIC0" description="Analog Comparator 0 Input Capture Enable" mask="0x04"/>
<bit-field key="acis0" name="ACIS0" description="Analog Comparator 0 Interrupt Mode Select bits" mask="0x03"/>
</register>
<register key="acsr0b" name="ACSR0B" description="Analog Comparator 0 Control And Status Register B" offset="0x2B" size="1">
<bit-field key="hsel0" name="HSEL0" description="Analog Comparator 0 Hysteresis Select" mask="0x80"/>
<bit-field key="hlev0" name="HLEV0" description="Analog Comparator 0 Hysteresis Level" mask="0x40"/>
<bit-field key="acoe0" name="ACOE0" description="Analog Comparator 0 Output Pin Enable" mask="0x10"/>
<bit-field key="acnmux" name="ACNMUX" description="Analog Comparator 0 Negative Input Multiplexer" mask="0x0C"/>
<bit-field key="acpmux" name="ACPMUX" description="Analog Comparator 0 Positive Input Multiplexer Bits 1:0" mask="0x03"/>
</register>
<register key="acsr1a" name="ACSR1A" description="Analog Comparator 1 Control And Status Register A" offset="0x2C" size="1">
<bit-field key="acd1" name="ACD1" description="Analog Comparator 1 Disable" mask="0x80"/>
<bit-field key="acbg1" name="ACBG1" description="Analog Comparator 1 Bandgap Select" mask="0x40"/>
<bit-field key="aco1" name="ACO1" description="Analog Comparator 1 Output" mask="0x20"/>
<bit-field key="aci1" name="ACI1" description="Analog Comparator 1 Interrupt Flag" mask="0x10"/>
<bit-field key="acie1" name="ACIE1" description="Analog Comparator 1 Interrupt Enable" mask="0x08"/>
<bit-field key="acic1" name="ACIC1" description="Analog Comparator 1 Input Capture Enable" mask="0x04"/>
<bit-field key="acis1" name="ACIS1" description="Analog Comparator 1 Interrupt Mode Select bits" mask="0x03"/>
</register>
<register key="acsr1b" name="ACSR1B" description="Analog Comparator 1 Control And Status Register B" offset="0x2D" size="1">
<bit-field key="hsel1" name="HSEL1" description="Analog Comparator 1 Hysteresis Select" mask="0x80"/>
<bit-field key="hlev1" name="HLEV1" description="Analog Comparator 1 Hysteresis Level" mask="0x40"/>
<bit-field key="acoe1" name="ACOE1" description="Analog Comparator 1 Output Pin Enable" mask="0x10"/>
<bit-field key="acme1" name="ACME1" description="Analog Comparator 1 Multiplexer Enable" mask="0x04"/>
</register>
</register-group>
</module>
<module key="eeprom" name="EEPROM" description="EEPROM">
<register-group key="eeprom" name="EEPROM">
<register key="eecr" name="EECR" description="EEPROM Control Register" offset="0x3C" size="1">
<bit-field key="eepm" name="EEPM" description="EEPROM Programming Mode Bits" mask="0x30"/>
<bit-field key="eerie" name="EERIE" description="EEPROM Ready Interrupt Enable" mask="0x08"/>
<bit-field key="eempe" name="EEMPE" description="EEPROM Master Write Enable" mask="0x04"/>
<bit-field key="eepe" name="EEPE" description="EEPROM Write Enable" mask="0x02"/>
<bit-field key="eere" name="EERE" description="EEPROM Read Enable" mask="0x01"/>
</register>
<register key="eedr" name="EEDR" description="EEPROM Data Register" offset="0x3D" size="1"/>
<register key="eear" name="EEAR" description="EEPROM Address Register Bytes" offset="0x3E" size="2"/>
</register-group>
</module>
<module key="tc16" name="TC16" description="Timer/Counter, 16-bit">
<register-group key="tc1" name="TC1">
<register key="tifr1" name="TIFR1" description="Timer/Counter Interrupt Flag register" offset="0x2E" size="1">
<bit-field key="icf1" name="ICF1" description="Timer/Counter1 Input Capture Flag" mask="0x20"/>
<bit-field key="ocf1b" name="OCF1B" description="Timer/Counter1 Output Compare B Match Flag" mask="0x04"/>
<bit-field key="ocf1a" name="OCF1A" description="Timer/Counter1 Output Compare A Match Flag" mask="0x02"/>
<bit-field key="tov1" name="TOV1" description="Timer/Counter1 Overflow Flag" mask="0x01"/>
</register>
<register key="timsk1" name="TIMSK1" description="Timer/Counter1 Interrupt Mask Register" offset="0x2F" size="1">
<bit-field key="icie1" name="ICIE1" description="Timer/Counter1 Input Capture Interrupt Enable" mask="0x20"/>
<bit-field key="ocie1b" name="OCIE1B" description="Timer/Counter1 Output Compare B Match Interrupt Enable" mask="0x04"/>
<bit-field key="ocie1a" name="OCIE1A" description="Timer/Counter1 Output Compare A Match Interrupt Enable" mask="0x02"/>
<bit-field key="toie1" name="TOIE1" description="Timer/Counter1 Overflow Interrupt Enable" mask="0x01"/>
</register>
<register key="tccr1c" name="TCCR1C" description="Timer/Counter1 Control Register C" offset="0x42" size="1">
<bit-field key="foc1a" name="FOC1A" description="Force Output Compare for Channel A" mask="0x80"/>
<bit-field key="foc1b" name="FOC1B" description="Force Output Compare for Channel B" mask="0x40"/>
</register>
<register key="gtccr" name="GTCCR" description="General Timer/Counter Control Register" offset="0x43" size="1">
<bit-field key="tsm" name="TSM" description="Timer/Counter Synchronization Mode" mask="0x80"/>
<bit-field key="psr" name="PSR" description="Prescaler Reset Timer/CounterN" mask="0x01"/>
</register>
<register key="icr1" name="ICR1" description="Timer/Counter1 Input Capture Register Bytes" offset="0x44" size="2"/>
<register key="ocr1b" name="OCR1B" description="Timer/Counter1 Output Compare Register B Bytes" offset="0x48" size="2"/>
<register key="ocr1a" name="OCR1A" description="Timer/Counter1 Output Compare Register A Bytes" offset="0x4A" size="2"/>
<register key="tcnt1" name="TCNT1" description="Timer/Counter1 Bytes" offset="0x4C" size="2"/>
<register key="tccr1b" name="TCCR1B" description="Timer/Counter1 Control Register B" offset="0x4E" size="1">
<bit-field key="icnc1" name="ICNC1" description="Input Capture 1 Noise Canceler" mask="0x80"/>
<bit-field key="ices1" name="ICES1" description="Input Capture 1 Edge Select" mask="0x40"/>
<bit-field key="wgm1" name="WGM1" description="Waveform Generation Mode Bits" mask="0x18"/>
<bit-field key="cs1" name="CS1" description="Clock Select bits" mask="0x07"/>
</register>
<register key="tccr1a" name="TCCR1A" description="Timer/Counter1 Control Register A" offset="0x4F" size="1">
<bit-field key="com1a" name="COM1A" description="Compare Output Mode 1A, bits" mask="0xC0"/>
<bit-field key="com1b" name="COM1B" description="Compare Output Mode 1B, bits" mask="0x30"/>
<bit-field key="wgm1" name="WGM1" description="Pulse Width Modulator Select Bits" mask="0x03"/>
</register>
</register-group>
<register-group key="tc2" name="TC2">
<register key="tifr2" name="TIFR2" description="Timer/Counter Interrupt Flag register" offset="0x30" size="1">
<bit-field key="icf2" name="ICF2" description="Timer/Counter2 Input Capture Flag" mask="0x20"/>
<bit-field key="ocf2b" name="OCF2B" description="Timer/Counter2 Output Compare B Match Flag" mask="0x04"/>
<bit-field key="ocf2a" name="OCF2A" description="Timer/Counter2 Output Compare A Match Flag" mask="0x02"/>
<bit-field key="tov2" name="TOV2" description="Timer/Counter2 Overflow Flag" mask="0x01"/>
</register>
<register key="timsk2" name="TIMSK2" description="Timer/Counter2 Interrupt Mask Register" offset="0x31" size="1">
<bit-field key="icie2" name="ICIE2" description="Timer/Counter2 Input Capture Interrupt Enable" mask="0x20"/>
<bit-field key="ocie2b" name="OCIE2B" description="Timer/Counter2 Output Compare B Match Interrupt Enable" mask="0x04"/>
<bit-field key="ocie2a" name="OCIE2A" description="Timer/Counter2 Output Compare A Match Interrupt Enable" mask="0x02"/>
<bit-field key="toie2" name="TOIE2" description="Timer/Counter2 Overflow Interrupt Enable" mask="0x01"/>
</register>
<register key="gtccr" name="GTCCR" description="General Timer/Counter Control Register" offset="0x43" size="1">
<bit-field key="tsm" name="TSM" description="Timer/Counter Synchronization Mode" mask="0x80"/>
<bit-field key="psr" name="PSR" description="Prescaler Reset Timer/CounterN" mask="0x01"/>
</register>
<register key="icr2" name="ICR2" description="Timer/Counter2 Input Capture Register Bytes" offset="0xC0" size="2"/>
<register key="ocr2b" name="OCR2B" description="Timer/Counter2 Output Compare Register B Bytes" offset="0xC2" size="2"/>
<register key="ocr2a" name="OCR2A" description="Timer/Counter2 Output Compare Register A Bytes" offset="0xC4" size="2"/>
<register key="tcnt2" name="TCNT2" description="Timer/Counter2 Bytes" offset="0xC6" size="2"/>
<register key="tccr2c" name="TCCR2C" description="Timer/Counter2 Control Register C" offset="0xC8" size="1">
<bit-field key="foc2a" name="FOC2A" description="Force Output Compare for Channel A" mask="0x80"/>
<bit-field key="foc2b" name="FOC2B" description="Force Output Compare for Channel B" mask="0x40"/>
</register>
<register key="tccr2b" name="TCCR2B" description="Timer/Counter2 Control Register B" offset="0xC9" size="1">
<bit-field key="icnc2" name="ICNC2" description="Input Capture 2 Noise Canceler" mask="0x80"/>
<bit-field key="ices2" name="ICES2" description="Input Capture 2 Edge Select" mask="0x40"/>
<bit-field key="wgm2" name="WGM2" description="Waveform Generation Mode Bits" mask="0x18"/>
<bit-field key="cs2" name="CS2" description="Clock Select bits" mask="0x07"/>
</register>
<register key="tccr2a" name="TCCR2A" description="Timer/Counter2 Control Register A" offset="0xCA" size="1">
<bit-field key="com2a" name="COM2A" description="Compare Output Mode 2A, bits" mask="0xC0"/>
<bit-field key="com2b" name="COM2B" description="Compare Output Mode 2B, bits" mask="0x30"/>
<bit-field key="wgm2" name="WGM2" description="Pulse Width Modulator Select Bits" mask="0x03"/>
</register>
</register-group>
</module>
<module key="tc8" name="TC8" description="Timer/Counter, 8-bit">
<register-group key="tc0" name="TC0">
<register key="gtccr" name="GTCCR" description="General Timer/Counter Control Register" offset="0x43" size="1">
<bit-field key="tsm" name="TSM" description="Timer/Counter Synchronization Mode" mask="0x80"/>
<bit-field key="psr" name="PSR" description="Prescaler Reset Timer/CounterN" mask="0x01"/>
</register>
<register key="tccr0a" name="TCCR0A" description="Timer/Counter Control Register A" offset="0x50" size="1">
<bit-field key="com0a" name="COM0A" description="Compare Match Output A Mode bits" mask="0xC0"/>
<bit-field key="com0b" name="COM0B" description="Compare Match Output B Mode bits" mask="0x30"/>
<bit-field key="wgm0" name="WGM0" description="Waveform Generation Mode bits" mask="0x03"/>
</register>
<register key="tcnt0" name="TCNT0" description="Timer/Counter0" offset="0x52" size="1"/>
<register key="tccr0b" name="TCCR0B" description="Timer/Counter Control Register B" offset="0x53" size="1">
<bit-field key="foc0a" name="FOC0A" description="Force Output Compare A" mask="0x80"/>
<bit-field key="foc0b" name="FOC0B" description="Force Output Compare B" mask="0x40"/>
<bit-field key="wgm02" name="WGM02" description="Waveform Generation Mode bit 2" mask="0x08"/>
<bit-field key="cs0" name="CS0" description="Clock Select bits" mask="0x07"/>
</register>
<register key="ocr0a" name="OCR0A" description="Timer/Counter0 Output Compare Register A" offset="0x56" size="1"/>
<register key="tifr0" name="TIFR0" description="Timer/Counter0 Interrupt Flag Register" offset="0x58" size="1">
<bit-field key="ocf0b" name="OCF0B" description="Timer/Counter0 Output Compare Flag B" mask="0x04"/>
<bit-field key="ocf0a" name="OCF0A" description="Timer/Counter0 Output Compare Flag A" mask="0x02"/>
<bit-field key="tov0" name="TOV0" description="Timer/Counter0 Overflow Flag" mask="0x01"/>
</register>
<register key="timsk0" name="TIMSK0" description="Timer/Counter Interrupt Mask Register" offset="0x59" size="1">
<bit-field key="ocie0b" name="OCIE0B" description="Timer/Counter0 Output Compare Match B Interrupt Enable" mask="0x04"/>
<bit-field key="ocie0a" name="OCIE0A" description="Timer/Counter0 Output Compare Match A Interrupt Enable" mask="0x02"/>
<bit-field key="toie0" name="TOIE0" description="Timer/Counter0 Overflow Interrupt Enable" mask="0x01"/>
</register>
<register key="ocr0b" name="OCR0B" description="Timer/Counter0 Output Compare Register B" offset="0x5C" size="1"/>
</register-group>
</module>
<module key="exint" name="EXINT" description="External Interrupts">
<register-group key="exint" name="EXINT">
<register key="pcmsk0" name="PCMSK0" description="Pin Change Enable Mask 0" offset="0x32" size="1">
<bit-field key="pcint0" name="PCINT0" description="Pin Change Enable Mask 0 Bit 0" mask="0x01"/>
<bit-field key="pcint1" name="PCINT1" description="Pin Change Enable Mask 0 Bit 1" mask="0x02"/>
<bit-field key="pcint2" name="PCINT2" description="Pin Change Enable Mask 0 Bit 2" mask="0x04"/>
<bit-field key="pcint3" name="PCINT3" description="Pin Change Enable Mask 0 Bit 3" mask="0x08"/>
<bit-field key="pcint4" name="PCINT4" description="Pin Change Enable Mask 0 Bit 4" mask="0x10"/>
<bit-field key="pcint5" name="PCINT5" description="Pin Change Enable Mask 0 Bit 5" mask="0x20"/>
<bit-field key="pcint6" name="PCINT6" description="Pin Change Enable Mask 0 Bit 6" mask="0x40"/>
<bit-field key="pcint7" name="PCINT7" description="Pin Change Enable Mask 0 Bit 7" mask="0x80"/>
</register>
<register key="pcmsk1" name="PCMSK1" description="Pin Change Enable Mask 1" offset="0x40" size="1">
<bit-field key="pcint8" name="PCINT8" description="Pin Change Enable Mask 1 Bit 0" mask="0x01"/>
<bit-field key="pcint9" name="PCINT9" description="Pin Change Enable Mask 1 Bit 1" mask="0x02"/>
<bit-field key="pcint10" name="PCINT10" description="Pin Change Enable Mask 1 Bit 2" mask="0x04"/>
<bit-field key="pcint11" name="PCINT11" description="Pin Change Enable Mask 1 Bit 3" mask="0x08"/>
</register>
<register key="mcucr" name="MCUCR" description="MCU Control Register" offset="0x55" size="1">
<bit-field key="isc01" name="ISC01" description="Interrupt Sense Control 0 Bit 1" mask="0x02"/>
<bit-field key="isc00" name="ISC00" description="Interrupt Sense Control 0 Bit 0" mask="0x01"/>
</register>
<register key="gifr" name="GIFR" description="General Interrupt Flag register" offset="0x5A" size="1">
<bit-field key="intf0" name="INTF0" description="External Interrupt Flag 0" mask="0x40"/>
<bit-field key="pcif" name="PCIF" description="Pin Change Interrupt Flags" mask="0x30"/>
</register>
<register key="gimsk" name="GIMSK" description="General Interrupt Mask Register" offset="0x5B" size="1">
<bit-field key="int0" name="INT0" description="External Interrupt Request 0 Enable" mask="0x40"/>
<bit-field key="pcie" name="PCIE" description="Pin Change Interrupt Enables" mask="0x30"/>
</register>
</register-group>
</module>
<module key="cpu" name="CPU" description="CPU Registers">
<register-group key="cpu" name="CPU">
<register key="gpior0" name="GPIOR0" description="General Purpose I/O Register 0" offset="0x33" size="1"/>
<register key="gpior1" name="GPIOR1" description="General Purpose I/O Register 1" offset="0x34" size="1"/>
<register key="gpior2" name="GPIOR2" description="General Purpose I/O Register 2" offset="0x35" size="1"/>
<register key="mcusr" name="MCUSR" description="MCU Status Register" offset="0x54" size="1">
<bit-field key="wdrf" name="WDRF" description="Watchdog Reset Flag" mask="0x08"/>
<bit-field key="borf" name="BORF" description="Brown-out Reset Flag" mask="0x04"/>
<bit-field key="extrf" name="EXTRF" description="External Reset Flag" mask="0x02"/>
<bit-field key="porf" name="PORF" description="Power-on reset flag" mask="0x01"/>
</register>
<register key="mcucr" name="MCUCR" description="MCU Control Register" offset="0x55" size="1">
<bit-field key="se" name="SE" description="Sleep Enable" mask="0x20"/>
<bit-field key="sm" name="SM" description="Sleep Mode Select Bits" mask="0x18"/>
<bit-field key="isc0" name="ISC0" description="Interrupt Sense Control 0 bits" mask="0x03"/>
</register>
<register key="spmcsr" name="SPMCSR" description="Store Program Memory Control and Status Register" offset="0x57" size="1">
<bit-field key="rsig" name="RSIG" description="Read Device Signature Imprint Table" mask="0x20"/>
<bit-field key="ctpb" name="CTPB" description="Clear Temporary Page Buffer" mask="0x10"/>
<bit-field key="rflb" name="RFLB" description="Read Fuse and Lock Bits" mask="0x08"/>
<bit-field key="pgwrt" name="PGWRT" description="Page Write" mask="0x04"/>
<bit-field key="pgers" name="PGERS" description="Page Erase" mask="0x02"/>
<bit-field key="spmen" name="SPMEN" description="Store program Memory Enable" mask="0x01"/>
</register>
<register key="sp" name="SP" description="Stack Pointer" offset="0x5D" size="2"/>
<register key="sreg" name="SREG" description="Status Register" offset="0x5F" size="1">
<bit-field key="i" name="I" description="Global Interrupt Enable" mask="0x80"/>
<bit-field key="t" name="T" description="Bit Copy Storage" mask="0x40"/>
<bit-field key="h" name="H" description="Half Carry Flag" mask="0x20"/>
<bit-field key="s" name="S" description="Sign Bit" mask="0x10"/>
<bit-field key="v" name="V" description="Two's Complement Overflow Flag" mask="0x08"/>
<bit-field key="n" name="N" description="Negative Flag" mask="0x04"/>
<bit-field key="z" name="Z" description="Zero Flag" mask="0x02"/>
<bit-field key="c" name="C" description="Carry Flag" mask="0x01"/>
</register>
<register key="prr" name="PRR" description="Power Reduction Register" offset="0x70" size="1">
<bit-field key="prtwi" name="PRTWI" description="Power Reduction TWI" mask="0x80"/>
<bit-field key="prusart1" name="PRUSART1" description="Power Reduction USART1" mask="0x40"/>
<bit-field key="prusart0" name="PRUSART0" description="Power Reduction USART0" mask="0x20"/>
<bit-field key="prspi" name="PRSPI" description="Power Reduction SPI" mask="0x10"/>
<bit-field key="prtim2" name="PRTIM2" description="Power Reduction Timer/Counter2" mask="0x08"/>
<bit-field key="prtim1" name="PRTIM1" description="Power Reduction Timer/Counter1" mask="0x04"/>
<bit-field key="prtim0" name="PRTIM0" description="Power Reduction Timer/Counter0" mask="0x02"/>
<bit-field key="pradc" name="PRADC" description="Power Reduction ADC" mask="0x01"/>
</register>
<register key="ccp" name="CCP" description="Configuration Change Protection" offset="0x71" size="1"/>
<register key="clkcr" name="CLKCR" description="Clock Control Register" offset="0x72" size="1">
<bit-field key="oscrdy" name="OSCRDY" description="Oscillator Ready" mask="0x80"/>
<bit-field key="cstr" name="CSTR" description="Clock Switch Trigger" mask="0x40"/>
<bit-field key="ckoutc" name="CKOUTC" description="Clock Output (Copy). Active low." mask="0x20"/>
<bit-field key="sut" name="SUT" description="Start-up Time" mask="0x10"/>
<bit-field key="cksel" name="CKSEL" description="Clock Select Bits" mask="0x0F"/>
</register>
<register key="clkpr" name="CLKPR" description="Clock Prescale Register" offset="0x73" size="1">
<bit-field key="clkps" name="CLKPS" description="Clock Prescaler Select Bits" mask="0x0F"/>
</register>
<register key="osccal0" name="OSCCAL0" description="Oscillator Calibration Register 8MHz" offset="0x74" size="1"/>
<register key="osctcal0a" name="OSCTCAL0A" description="Oscillator Temperature Calibration Register A" offset="0x75" size="1"/>
<register key="osctcal0b" name="OSCTCAL0B" description="Oscillator Temperature Calibration Register B" offset="0x76" size="1"/>
<register key="osccal1" name="OSCCAL1" description="Oscillator Calibration Register 32kHz" offset="0x77" size="1"/>
</register-group>
</module>
<module key="tocpm" name="TOCPM" description="Timer/Counter Output Compare Pin">
<register-group key="tocpm" name="TOCPM">
<register key="tocpmcoe" name="TOCPMCOE" description="Timer Output Compare Pin Mux Channel Output Enable" offset="0x66" size="1">
<bit-field key="tocc7oe" name="TOCC7OE" description="Timer Output Compare Channel 7 Output Enable" mask="0x80"/>
<bit-field key="tocc6oe" name="TOCC6OE" description="Timer Output Compare Channel 6 Output Enable" mask="0x40"/>
<bit-field key="tocc5oe" name="TOCC5OE" description="Timer Output Compare Channel 5 Output Enable" mask="0x20"/>
<bit-field key="tocc4oe" name="TOCC4OE" description="Timer Output Compare Channel 4 Output Enable" mask="0x10"/>
<bit-field key="tocc3oe" name="TOCC3OE" description="Timer Output Compare Channel 3 Output Enable" mask="0x08"/>
<bit-field key="tocc2oe" name="TOCC2OE" description="Timer Output Compare Channel 2 Output Enable" mask="0x04"/>
<bit-field key="tocc1oe" name="TOCC1OE" description="Timer Output Compare Channel 1 Output Enable" mask="0x02"/>
<bit-field key="tocc0oe" name="TOCC0OE" description="Timer Output Compare Channel 0 Output Enable" mask="0x01"/>
</register>
<register key="tocpmsa0" name="TOCPMSA0" description="Timer Output Compare Pin Mux Selection 0" offset="0x67" size="1">
<bit-field key="tocc3s" name="TOCC3S" description="Timer Output Compare Channel 3 Selection Bits" mask="0xC0"/>
<bit-field key="tocc2s" name="TOCC2S" description="Timer Output Compare Channel 2 Selection Bits" mask="0x30"/>
<bit-field key="tocc1s" name="TOCC1S" description="Timer Output Compare Channel 1 Selection Bits" mask="0x0C"/>
<bit-field key="tocc0s" name="TOCC0S" description="Timer Output Compare Channel 0 Selection Bits" mask="0x03"/>
</register>
<register key="tocpmsa1" name="TOCPMSA1" description="Timer Output Compare Pin Mux Selection 1" offset="0x68" size="1">
<bit-field key="tocc7s" name="TOCC7S" description="Timer Output Compare Channel 7 Selection Bits" mask="0xC0"/>
<bit-field key="tocc6s" name="TOCC6S" description="Timer Output Compare Channel 6 Selection Bits" mask="0x30"/>
<bit-field key="tocc5s" name="TOCC5S" description="Timer Output Compare Channel 5 Selection Bits" mask="0x0C"/>
<bit-field key="tocc4s" name="TOCC4S" description="Timer Output Compare Channel 4 Selection Bits" mask="0x03"/>
</register>
</register-group>
</module>
<module key="spi" name="SPI" description="Serial Peripheral Interface">
<register-group key="spi" name="SPI">
<register key="remap" name="REMAP" description="Remap Port Pins" offset="0x65" size="1">
<bit-field key="spimap" name="SPIMAP" description="SPI Pin Mapping" mask="0x02"/>
</register>
<register key="spdr" name="SPDR" description="SPI Data Register" offset="0xB0" size="1"/>
<register key="spsr" name="SPSR" description="SPI Status Register" offset="0xB1" size="1">
<bit-field key="spif" name="SPIF" description="SPI Interrupt Flag" mask="0x80"/>
<bit-field key="wcol" name="WCOL" description="Write Collision Flag" mask="0x40"/>
<bit-field key="spi2x" name="SPI2X" description="Double SPI Speed Bit" mask="0x01"/>
</register>
<register key="spcr" name="SPCR" description="SPI Control Register" offset="0xB2" size="1">
<bit-field key="spie" name="SPIE" description="SPI Interrupt Enable" mask="0x80"/>
<bit-field key="spe" name="SPE" description="SPI Enable" mask="0x40"/>
<bit-field key="dord" name="DORD" description="Data Order" mask="0x20"/>
<bit-field key="mstr" name="MSTR" description="Master/Slave Select" mask="0x10"/>
<bit-field key="cpol" name="CPOL" description="Clock polarity" mask="0x08"/>
<bit-field key="cpha" name="CPHA" description="Clock Phase" mask="0x04"/>
<bit-field key="spr" name="SPR" description="SPI Clock Rate Selects" mask="0x03"/>
</register>
</register-group>
</module>
</modules>
<pads>
<pad key="gnd" name="GND"/>
<pad key="pa0" name="PA0"/>
<pad key="pa1" name="PA1"/>
<pad key="pa2" name="PA2"/>
<pad key="pa3" name="PA3"/>
<pad key="pa4" name="PA4"/>
<pad key="pa5" name="PA5"/>
<pad key="pa6" name="PA6"/>
<pad key="pa7" name="PA7"/>
<pad key="pb0" name="PB0"/>
<pad key="pb1" name="PB1"/>
<pad key="pb2" name="PB2"/>
<pad key="pb3" name="PB3"/>
<pad key="vcc" name="VCC"/>
</pads>
<pinouts>
<pinout key="soic_14" name="SOIC_14" type="soic">
<pin position="14" pad-key="gnd"/>
<pin position="13" pad-key="pa0"/>
<pin position="12" pad-key="pa1"/>
<pin position="11" pad-key="pa2"/>
<pin position="10" pad-key="pa3"/>
<pin position="9" pad-key="pa4"/>
<pin position="8" pad-key="pa5"/>
<pin position="7" pad-key="pa6"/>
<pin position="6" pad-key="pa7"/>
<pin position="5" pad-key="pb2"/>
<pin position="4" pad-key="pb3"/>
<pin position="3" pad-key="pb1"/>
<pin position="2" pad-key="pb0"/>
<pin position="1" pad-key="vcc"/>
</pinout>
<pinout key="qfn_20" name="QFN_20" type="qfn">
<pin position="1" pad-key="pa4"/>
<pin position="2" pad-key="pa3"/>
<pin position="3" pad-key="pa2"/>
<pin position="4" pad-key="pa1"/>
<pin position="5" pad-key="pa0"/>
<pin position="6"/>
<pin position="7"/>
<pin position="8" pad-key="gnd"/>
<pin position="9" pad-key="vcc"/>
<pin position="10"/>
<pin position="11" pad-key="pb0"/>
<pin position="12" pad-key="pb1"/>
<pin position="13" pad-key="pb3"/>
<pin position="14" pad-key="pb2"/>
<pin position="15" pad-key="pa7"/>
<pin position="16" pad-key="pa6"/>
<pin position="17"/>
<pin position="18"/>
<pin position="19"/>
<pin position="20" pad-key="pa5"/>
</pinout>
</pinouts>
<variants>
<variant key="attiny441_ssu" name="ATtiny441-SSU" pinout-key="soic_14"/>
<variant key="attiny441_mu" name="ATtiny441-MU" pinout-key="qfn_20"/>
<variant key="attiny441_mmh" name="ATtiny441-MMH" pinout-key="qfn_20"/>
</variants>
</device>