Arduino-CH592F

Arduino IDE 環境作成

まず CH58x の実装を作成されている方がいらっしゃいますので、そちらをインストールします。

https://github.com/ElectronicCats/arduino-wch58x

実際は、ボードの URL を追加してパッケージをインストールする方法になりますので、詳しい方法が書かれています。

https://github.com/ElectronicCats/arduino-wch58x/wiki/1.-First-steps-with-Arduino

ここまでで、CH58x が動作すると思われます。

CH592F 用ファイルを上書きインストール

以下のファイルをダウンロードし、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


LEDのピン番号は?

基盤のシルク印刷に 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ドライブ直下になりますので、嫌な方はインストール後、ファイルだけ退避してアンインストールしても構いません。

https://www.wch-ic.com/downloads/WCHISPTool_Setup_exe.html

[!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