CH559とは

CH559は江蘇沁恒股分有限公司(WCH)が作ってるUSBホスト・デバイスの機能がくっついてる8bitマイコンで、コアは8051とかいう1980年に作られたCPUを拡張したものらしい

日本では秋月で売ってます

回路

  • リセットは珍しくLowにすると入るらしい
  • P4.6はブートモードの選択で起動時にLowならブートローダーに入り書き込みができるようになる
  • 内部にレギュレータが内蔵されてて、外部にレギュレータを載せないならVDD33をデカップリングしなくちゃだめらしい



実際に組んだところ

プログラム

#include <stdint.h>
#include "ch559.h"
 
void main() {
 
	PORT_CFG_REG = 0b00101101;
	P1_DIR_REG = 0b00000100;
	P1_PU_REG = 0b11111011;
	P1_REG = 0x00;
 
	while (1) {
		P1_REG = (!(P1_REG & 0b00000100)) << 2;
		for (uint32_t i = 0; i < (100000UL); i++) {
			__asm__("nop");
		}
	}
}

書き込み

P4.6をLowにしながらPCにUSBで接続。Rust製の書き込みツールwchispで書き込みます
https://github.com/ch32-rs/wchisp

wchisp flash ./out/main.hex

作った環境はgithubに上げました
https://github.com/Netetra/ch559-template