ArduinoIDEでATTiny

ArduinoIDEでATTiny を使う

ピン配置(ATTINY2313)

Arduino ピン番号 機能
- 1 RST/PA2
D0 2 PD0
D1 3 PD1
D2 4 PA1
D3 5 PA0
D4 6 PD2
D5 7 PD3
D6 8 PD4
D7 9 PD5
- 10 GND
D8 11 PD6
D9 12 PB0
D10 13 PB1
D11 14 PB2
D12 15 PB3
D13 16 PB4
- 17 MOSI/PB5
- 18 MISO/PB6
- 19 USCK/PB7
- 20 VCC

タイマ割り込み

Timer1ライブラリが使えるようだが、ATTINY2313だとTimerOne.cppに下記変更しないとコンパイルが通らなかった。

#if defined(__AVR_ATtiny2313__)
#define TIMSK1 TIMSK
#endif
#if !defined(__AVR_ATtiny2313__)
  GTCCR |= _BV(PSRSYNC);      // AR added - reset prescaler (NB: shared with all 16 bit timers);
#endif

いちおう動いたけど合ってるのかはしらんよ。。

クロック周波数変更(500kHz)

attiny2313-5.name=ATtiny2313 (internal 500kHz clock)
attiny2313-5.bootloader.low_fuses=0x62
attiny2313-5.bootloader.high_fuses=0xDF
attiny2313-5.bootloader.extended_fuses=0xff
attiny2313-5.upload.maximum_size=2048
attiny2313-5.build.mcu=attiny2313
attiny2313-5.build.f_cpu=500000L
attiny2313-5.build.core=arduino:arduino
attiny2313-5.build.variant=tn2313
#== Low_Fuse===
#CKDIV8    =0b0  (8 DIV)
#CKOUT     =0b1  (Disable)
#SUT[1:0]  =0b10
#CKSEL[3:0]=0b0010  (4MHz)

いちおう動いたけど合ってるのかはしらんよ。。

クロック変えたらTimer1がおかしい

暴走してるっぽいのだけどもデバッガがないから確認しようがない。

とか?未確認。