できた。
スケッチでは
void setup() { mySerial.begin(9600); }
とし、puttyではSpeed 1200にしないといけなかった。
これはおそらくt85のFUSEはデフォルトで内部クロック8MHzを8分周した1MHz駆動しているのに対し、
ATTinyCoreはFUSEを書き換えた8MHz駆動を想定しているため(もしUNOのコードを変えないでそのまま使ってるならUNOが16MHzなので9600/16でSpeed 600にしないといけないはず、だと思うけどそんな単純な話ではないかも)。
追記:正解。ATTinyCoreでクロック数を指定できるオプションがあった。
ウォッチドッグはまた別のタイマーなので影響受けない。
その他注意点:
- FTDI USBシリアル変換アダプタ―は電源も供給してくれる(知らんかった)
- COMはデバイスマネージャのポート(COMとLPT)で番号確認、puttyで接続時に使用
- FTDI USBシリアル変換アダプタ―のTx, RxはPC側のものソフトウェアシリアルで設定したT85のTx, Rx対応ピンとは逆につなげる。
- FTDIアダプターもバッファがあるみたいでputtyで読み込んであげないと出力されなくなる。
テストコード。Arduinoの関数に頼りまくり。
#include <SoftwareSerial.h> #define RX_PIN 0 #define TX_PIN 1 SoftwareSerial mySerial(RX_PIN, TX_PIN); void setup() { mySerial.begin(9600); } void loop() { mySerial.println("HELLO from ATTiny85"); delay(1000); }