その2です。
ElekinoSdからエレキー部とメモリ送信部をパクって合体させました。
パドルによるエレキー動作と、Webサーバーからのメモリ内容の送信ができるようになりました。
ポートの割当は、io04とio05にパドル、io12にサイドトーンを割り当てました。
送信機はio13で(とりあえずLedを接続)、メモリSWはtoutでAD変換。
AD変換ポートは1つしか無いので、スピードはio14でCRの時定数でVRの抵抗値を測定することにします。
AD変換周りは実験が必要です。
AVRからの移植でハマったポイントです。
・tone()が実装されていないので、pwmで代用します。
ONは
analogWrite(dPortTone, 500);
analogWriteFreq(FREQ);
OFFは
analogWrite(dPortTone, 0);
・ウイークプルアップができないようで、ハードでプルアップします。
・Stringクラスの配列を1文字単位でアクセスしたら、例外が発生してリセットされました。
高速でアクセスするとNGなようで、ループ中にSerial.println()を入れて対策しました。
ElekinoSdからエレキー部とメモリ送信部をパクって合体させました。
パドルによるエレキー動作と、Webサーバーからのメモリ内容の送信ができるようになりました。
ポートの割当は、io04とio05にパドル、io12にサイドトーンを割り当てました。
送信機はio13で(とりあえずLedを接続)、メモリSWはtoutでAD変換。
AD変換ポートは1つしか無いので、スピードはio14でCRの時定数でVRの抵抗値を測定することにします。
AD変換周りは実験が必要です。
AVRからの移植でハマったポイントです。
・tone()が実装されていないので、pwmで代用します。
ONは
analogWrite(dPortTone, 500);
analogWriteFreq(FREQ);
OFFは
analogWrite(dPortTone, 0);
・ウイークプルアップができないようで、ハードでプルアップします。
・Stringクラスの配列を1文字単位でアクセスしたら、例外が発生してリセットされました。
高速でアクセスするとNGなようで、ループ中にSerial.println()を入れて対策しました。