まず CH58x の実装を作成されている方がいらっしゃいますので、そちらをインストールします。
実際は、ボードの URL を追加してパッケージをインストールする方法になりますので、詳しい方法が書かれています。
https://github.com/ElectronicCats/arduino-wch58x/wiki/1.-First-steps-with-Arduino
ここまでで、CH58x が動作すると思われます。
以下のファイルをダウンロードし、CH58x 環境に上書きします。
https://pearlpalms.github.io/Arduino-CH592F/electroniccats_.7z
[!WARNING] CH58x環境が壊れますので、ご注意ください。両方の実装が必要な方は、各自で切り分けを行ってください。
(そのための環境を作る必要があるので、かなり面倒だと思われます)
上書き先は、環境によると思われますが、以下のディレクトリに上書きします。
C:\Users\ユーザー名\AppData\Local\Arduino15\packages\electroniccats
なお以下のディレクトリーを削除する必要があります。リネームではインクルードされますので、バックアップが必要な方は、より上位の階層に移動してください。
C:\Users\ユーザー名\AppData\Local\Arduino15\packages\electroniccats\hardware\wch\0.0.1\cores\arduino\ch583
基盤のシルク印刷に A8 と書かれている通り、8番ピンが LED に接続されています。PWM も使えます。
#undef LED_BUILTIN
#define LED_BUILTIN 8
上記のコードを入れますが、スマートに実装するには、以下のコードが良いです。
#ifdef ID_CH592
#undef LED_BUILTIN
#define LED_BUILTIN 8
#endif
プログラム内容に問題がなければ、以下のようにプログラムサイズを表示して終了します。
最大448000バイトのフラッシュメモリのうち、スケッチが24184バイト(5%)を使っています。
最大32000バイトのRAMのうち、グローバル変数が256バイト(0%)を使っていて、ローカル変数で31744バイト使うことができます。
書き込みを指定すると、プログラムサイズの表示後に管理者権限を要求されます。
[!IMPORTANT] ここで USBコネクタ に CH592F を差し込みますが、BOOTボタンを押しながら差し込みます。
管理者権限の要求には、そのまま「はい」を指定すると、ボードへ書き込みが行われます。
[!NOTE] 管理者権限を突破する方法を取得していませんので、毎回出力されるたびに指定する必要があります。
現時点で、書き込み経過が表示されません。
[!IMPORTANT] コンパイル後に以下の記述があり、*.elf ファイルの場所をメモしておきます。
"C:\\Users\\ユーザー名\\... "C:\\Users\\pearl\\.../led_fade_internal.ino.elf" 最大448000バイトのフラッシュメモリのうち、スケッチが24184バイト(5%)を使っています。 最大32000バイトのRAMのうち、グローバル変数が256バイト(0%)を使っていて、ローカル変数で31744バイト使うことができます。
書き込みにはソフト WCHISPTool が必要です。以下の場所からダウンロードが可能です。
デフォルトインストール先が、Cドライブ直下になりますので、嫌な方はインストール後、ファイルだけ退避してアンインストールしても構いません。
[!CAUTION] ここで USBコネクタ に CH592F を刺さないでください。
WCHISPTool_CH57x-59x.exe を起動し、上記でメモした *.elf と同じディレクトリにある、*.bin ファイルまたは *.hex ファイルを指定します。
[!IMPORTANT] 必ず ObjectFile1 に指定すること。指定するファイルは、elfファイル ではなく、binファイル または hexファイル を指定すること。
ここで USBコネクタ に CH592F を差し込みますが、BOOTボタンを押しながら差し込みます。
スイッチ付き USBハブ が無いと現実的に運用は不可能かと思われます。
画像の通り、Lチカ程度であれば、1秒以下で終了します。
[!NOTE] デフォルトの Lチカ と区別するために、フェードする Lチカ を以下のディレクトリに置きました。
ご自由にお使いください。とりあえず Arduino IDE 環境を作らずとも、ボードの動作テストぐらいは出来ます。
https://github.com/PEARLPALMS/Arduino-CH592F/tree/main/sample