[CH32V003] 48MHzの設定

 CH32V003が安い!それなりに高機能!という事で使いはじめた。

EVTのサンプルプログラムには

    printf("SystemClk:%d\r\n",SystemCoreClock);

    printf( "ChipID:%08x\r\n", DBGMCU_GetCHIPID() );

というのが入っていて、システムクロックをシリアルに表示するようになっている



何気なく見ていると24MHzであると表示されている。
CH32V003だとスペック上は48MHzであるが半分で動いている事になる。
これを48MHzにするには?


main,c等が格納されているUserのフォルダに、system_ch32v00x.cというファイルがある
このファイルで、設定ができるとのこと。

それを開いて、

とコメントアウトされているのを


とHSE をコメントアウトして、HSIのコメントアウトをはずす。

するとシステムクロックが48MHzに設定できる。


24MHzの際のSPIの通信をキャプチャーすると160usecぐらいかかっていたのが、およそ100usecと半分近くになる事が確認できる。半分にはならないのは?

実は詳細は、50円マイコンCH32V003Fを使う(4): クロック設定を読み込む | mcuXfamilyのブログを見ると書いてくださっている通りですが・・・

せっかく水晶振動子なしで48MHzのクロックで動かせるMUPなので、動かしたい!という事でた面した記録

内部クロックに切り替えることでPA1,2もGPIOとして使える

GPIOをめーいっぱい使いたい場合

https://github.com/shippoiincho/tk80_ch32v003






コメント

このブログの人気の投稿

Attiny85とAQM0802A(LCD)のI2C接続

CH9329で日本語キーボード109で正しく表示する方法