ArduinoIDEでATTiny
ArduinoIDEでATTiny を使う
- 公式ページ
- Programming ATtiny w/Arduino IDE ATTINY45,85,44,84など。
- Arduino1.0 で ATtiny2313 を動かす Arduino IDE 1.04では、#define PE 2 の追加が必要だった(こちら)。
- Arduino-tinyというのもあるらしい。
ピン配置(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がおかしい
暴走してるっぽいのだけどもデバッガがないから確認しようがない。
とか?未確認。