Quantcast
Channel: @74thの制作ログ
Viewing all articles
Browse latest Browse all 70

新刊『CH32V003開発ガイドブック』を技術書典18で頒布します

$
0
0

ebook.png

tl;dr

  • CH32V003は、安価だけど機能が豊富なマイコンで、筆者は電子工作にめっちゃ使っているよ
  • CH32V003の知らない機能を使い尽くしたくて、書籍の執筆を始めたよ
  • 書籍には、Arduino/公式SDK/ch32fun/レジスタ操作での実装方法をそれぞれ載せていて、初心者はArduinoから、上級者はレジスタ操作を理解して進める構成にしているよ
  • 各Peripheralの使い方は、Arduino/公式SDK/レジスタ操作で、GPIO/Timer/DMA/ADC/PWM/UART/I2C/SPI/WDT/省エネルギーモードなどをそれぞれ解説しているよ
  • おまけとして本書の知識をLLMに与えられるMCP Serverを作成したよ
  • 書籍は、5/31からオンライン開催、6/1にオフライン開催がある技術書典18で頒布するよ

紹介するCH32V003とは

CH32V003は安価ながら多機能なWCH社が販売する32bit RISC-Vマイコンです。 秋月電子通商でも40円で扱われ、公式ショップでも単価25円ほどで購入できます。

WatchdogTimerや、省エネルギーモードなど、使い方を知りませんでしたが、この書籍で試すことで使えるようになり、実際にプロダクトにも組み込みました。

筆者のCH32V003との関わりと執筆動機

筆者はCH32V003を、電子工作の製作に頻繁に組み込むようになりました。

以下の制作物にも簡単な制御にCH32V003を使っています。

安価であるため単純な機能を使うだけでも十分効果的なのですが、 さらにマイコンの様々な機能を使い尽くしたいと思い、この書籍を執筆しました。

本書の内容

この書籍では、CH32V003の開発に必要な知識をまとめています。 基礎知識として、購入方法から最小限の回路などを解説します。 ファームウェアの開発に必要な機材や、開発環境の使い方を説明します。 MCUは多くの機能を持っており、MCUの機能としての解説と、Arduino、公式SDK、ch32fun、レジスタ操作での実装方法も解説します。

これ一冊でCH32V003に必要な開発を網羅的に得られる内容になっています。

目次

目次は以下となっています。

  • まえがき
  • 1.CH32V003の魅力と基礎知識
    • 1.1.CH32V003とは
    • 1.2.CH32V003のMCU単体の入手方法
    • 1.3.最小限の回路
    • 1.4.ファームウェア開発の方法
    • 1.5.ひとまず動く開発ボードが欲しい
    • 1.6.CH32V003開発で知っておくと良いこと
    • 1.7.後継、類似モデル
  • 2.Arduinoでの開発
  • 3.WCH SDKでの開発
    • 3.1.MounRiver Studio 2を使った環境セットアップ
    • 3.2.ソースコードの構成
    • 3.3.MounRiver Studioでのビルドと書き込み
    • 3.4.MounRiver Studioでのダウンロード設定
    • 3.5.SDI-Printによるログ出力
    • 3.6.PlatformIOを使った環境セットアップ
    • 3.7.PlatformIOでのビルドと書き込み
    • 3.8.PlatformIOでのSDI-Printの有効化
  • 4.ch32funでの開発とレジスタ操作
    • 4.1.ch32funとは
    • 4.2.開発環境の構築
    • 4.3.プロジェクトのセットアップ
    • 4.4.ビルド、書き込み、デバッグプリント
    • 4.5.ch32funの最低限のコード
    • 4.6.extralibsを使う
    • 4.7.VS Codeで補完を効かせるには
    • 4.8.PlatformIOを使う
    • 4.9.レジスタ操作の基礎
    • 4.10.rv003usbとは
  • 5.GPIO
  • 6.TimerとDMA
    • 6.1.TimerとDMAとは
    • 6.2.WCH SDKでTimerを使う
    • 6.3.レジスタ操作でTimerを使う
    • 6.4.DMAを使った7セグLEDのダイナミック点灯とは
    • 6.5.WCH SDKでDMAを使う
    • 6.6.レジスタ操作でDMAを使う
  • 7.PWM
  • 8.ADC
    • 8.1.CH32V003のADC
    • 8.2.サンプルコードの回路
    • 8.3.Arduino
    • 8.4.ch32fun
    • 8.5.WCH SDKで1回ADCを変換する
    • 8.6.DMAを用いた連続ADC変換
    • 8.7.レジスタ直接操作による単発ADC変換
    • 8.8.レジスタ直接操作によるDMAを用いた連続ADC変換
  • 9.UART
  • 10.I2Cマスター
  • 11.I2C スレーブ
    • 11.1.I2C通信のメッセージボックス実装
    • 11.2.Arduino
    • 11.3.ch32fun
    • 11.4.WCH SDK
    • 11.5.レジスタ操作
    • 11.6.筆者の実例
  • 12.SPI
  • 13.Watchdog Timer
    • 13.1.CH32V003のWDT
    • 13.2.WCH SDK
    • 13.3.レジスタ操作
    • 13.4.筆者の組み込みの実例
  • 14.省エネルギーモード
    • 14.1.CH32V003の省エネルギーモード
    • 14.2.スリープモード WCH SDK
    • 14.3.スリープモード レジスタ操作
    • 14.4.スタンバイモード WCH SDK
    • 14.5.スタンバイモード レジスタ操作
    • 14.6.スリープモード、スタンバイモードのLチカの消費電力
  • 15.NeoPixelとOLED SSD1306の制御
    • 15.1.NeoPixel
    • 15.2.OLED SSD1306
  • 16.その他の機能
    • NRST、SWIOピンを使用する
    • ユーザ情報を格納するOption Byte
    • Rustでの開発環境の構築
  • 17.筆者の製作
  • 18.本書のMCP Serverを使おう
  • おわりに
    • 著者

技術書典18に出典

5/31からオンライン開催、6/1にオフライン開催がある技術書典18に出展します。 オフライン会場のブースは「え01」です。

オフライン会場では、CH32V003の開発ボードも販売したり、実際に作ったものを展示したりします。

ぜひお立ち寄りください。

おまけ MCP Server を作った

本書で作ったサンプルコード、解説書をLLMに読ませれば実装ができるようになるのではないかと思い、本書の内容をレスポンスとして返すMCP Serverを作成しました。 フリーソフトで公開しています。 今後ブログでも紹介します。

https://github.com/74th/ch32v003-guidebook-mcpserver


Viewing all articles
Browse latest Browse all 70

Trending Articles