Skip to content

Enrich AVR pinouts with Arduino header files definitions #11

@macbre

Description

@macbre
/* Basic Pin Numbering - PIN_Pxn notation is always recommended
 * as it is totally unambiguous, but numbers may be used too */
#define PIN_PD0   ( 0)
#define PIN_PD1   ( 1)
#define PIN_PA1   ( 2)
#define PIN_PA0   ( 3)
#define PIN_PD2   ( 4)
#define PIN_PD3   ( 5)
#define PIN_PD4   ( 6)
#define PIN_PD5   ( 7)
#define PIN_PD6   ( 8)
#define PIN_PB0   ( 9)
#define PIN_PB1   (10)
#define PIN_PB2   (11)
#define PIN_PB3   (12)
#define PIN_PB4   (13)
#define PIN_PB5   (14)
#define PIN_PB6   (15)
#define PIN_PB7   (16)
#define PIN_PA2   (17)
/* Timer 0 - 8-bit timer with PWM */
#define TIMER0_TYPICAL              (1)
#define PIN_TIMER_OC0A              (PIN_PD5)
#define PIN_TIMER_OC0B              (PIN_PB2)
#define PIN_TIMER_T0                (PIN_PD4)

/* Timer 1 - 16-bit timer with PWM */
#define TIMER1_TYPICAL              (1)
#define PIN_TIMER_OC1A              (PIN_PB3)
#define PIN_TIMER_OC1B              (PIN_PB4)
#define PIN_TIMER_T1                (PIN_PD5)
#define PIN_TIMER_ICP1              (PIN_PD6)
/* USI */
#define USI_DI                PIN_PB5
#define USI_DO                PIN_PB6
#define USI_SCK               PIN_PB7
#define SS                    PIN_PB1

#define USI_DDR               DDRB
#define USI_PORT              PORTB
#define USI_PIN               PINB

#define USI_CLOCK_BIT         PINB7
#define USI_DO_BIT            PINB6
#define USI_DI_BIT            PINB5

#define USI_START_VECTOR      USI_START_vect
#define USI_OVERFLOW_VECTOR   USI_OVF_vect
#ifndef USI_START_COND_INT
  #define USI_START_COND_INT  USISIF
#endif

/* One hardware serial port */
#define PIN_HWSERIAL0_TX      PIN_PD1
#define PIN_HWSERIAL0_RX      PIN_PD0

#ifdef ARDUINO_MAIN
/*---------------------------------------------------------------------------
 * ATMEL ATTINY2313 ATTinyCore Standard Pin Mapping
 *
 *                  +-\/-+
 * RESET (17) PA2  1|    |20  VCC
 *    RX ( 0) PD0  2|    |19  PB7 (16) SCK  SCL
 *    TX ( 1) PD1  3|    |18  PB6 (15) DO
 * XTAL1 ( 2) PA1  4|    |17  PB5 (14) DI   SDA
 * XTAL2 ( 3) PA0  5|    |16  PB4 (13) PWM
 *  INT0 ( 4) PD2  6|    |15  PB3 (12) PWM
 *  INT1 ( 5) PD3  7|    |14  PB2 (11) PWM
 *       ( 6) PD4  8|    |13  PB1 (10)
 *   PWM ( 7) PD5  9|    |12  PB0 ( 9)
 *            GND 10|    |11  PD6 ( 8)
 *                  +----+
 *---------------------------------------------------------------------------*/

Parts YAML definition

---
name: ATtiny2313V-10P
description: 10MHz, 2kB Flash, 128B SRAM, 128B EEPROM, debugWIRE, DIP-20
datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2543-AVR-ATtiny2313_Datasheet.pdf
footprint: Package_DIP:DIP-20_W7.62mm
pinout:
  '1':
    name: PA2/~{RESET}
    type: bidirectional
  '2':
    name: PD0
    type: bidirectional
  '3':
    name: PD1
    type: bidirectional
  '4':
    name: PA1/XTAL2
    type: bidirectional
  '5':
    name: PA0/XTAL1
    type: bidirectional
  '6':
    name: PD2
    type: bidirectional
  '7':
    name: PD3
    type: bidirectional
  '8':
    name: PD4
    type: bidirectional
  '9':
    name: PD5
    type: bidirectional
  '10':
    name: GND
    type: power_in
  '11':
    name: PD6
    type: bidirectional
  '12':
    name: PB0
    type: bidirectional
  '13':
    name: PB1
    type: bidirectional
  '14':
    name: PB2
    type: bidirectional
  '15':
    name: PB3
    type: bidirectional
  '16':
    name: PB4
    type: bidirectional
  '17':
    name: PB5
    type: bidirectional
  '18':
    name: PB6
    type: bidirectional
  '19':
    name: PB7
    type: bidirectional
  '20':
    name: VCC
    type: power_in

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions