以下の内容はhttps://gijin77.blog.jp/archives/2024-03.htmlより取得しました。


目次

◆CH32V/STM32

・STM32F103C8T6 Arduino IDE でシリアル通信とI2C通信をしてみた
・STM32F103C8T6 を Arduino IDE で Lチカしてみた
・CH32V003J4M6 8ピンマイコンで自前のシリアル出力してみた
・CH32V003J4M6でPA2が使えない時のおまじない
・CH32V003J4M6にプログラムを書き込めなくなった時のおまじない
・CH32V003 ArduinoIDE 環境で I2C接続 OLED SSD1306 に表示させててみた
・CH32V003F4P6 で赤外線(IR)受信リモコンを作ってみた
・CH32V003F4P6 割り込み Lチカ シリアル出力 してみた
・CH32V003J4M6 32bit RISC マイコンでLチカ(ATTiny85の代わり)
何か足りないものはありませんか?
Amazon.co.jpへ


ブログトップへ

◆STM32F103C8T6をArduino IDE にてLチカをしてみました。
   (この青い基板のものは Blue pill と呼ばれている様です。)
 STLink-STMF103C8T6

 ◆下記アマゾンで入手しました。


>1Set ST-Link V2 Programming Unit Emulator Downloader
STM32F103C8T6 STM32 SWD Minimum System Board Micro USB

Amazon.co.jpへ

1.ボード&データシート
 ①参考データシート
  STM32F103C8T6[FLASH:64KB RAM:20KB]
  STM32F103C6T6[FLASH:32KB RAM:10KB]

 ②参考ピン配置

 STM32F103C8T6-PINOUT-1
 stm32_pinout_01

 ➂STM32F103C8T6-回路図
 STM32F103C8T6-回路図

2.Arduino IDE にボードの登録方法
 ①下記より「Arduino_STM32-master.zip」をダウンロードします。
 Arduino_STM32-master.zip
 
 ②ArduinoIDEインストールフォルダのHardwareにArduino_STM32-master.zipを
  解凍します。
 ide1_8_19hw
 ➂「Arduino_STM32-master.zip」の中身
 ide1_8_19hw-2

 ④IDEを起動してボード情報が反映されていることを確認しますと
 「Generic STM32F103C6/fake STM32F103C8」が表示されていますので選択します。
 arduinoide

 ④「UPload method」を「STLink」を選択します。 
 arduinoide-1

3.ST-Linkを使えるようにします。
 ①STM32F103C8T6と3V3,SWO,SWCLK,GNDを配線し、PCのUSBに差し込みます。
 ◆私の環境では、自動的にドライバがインストールされました。
 ・Windows 11 Pro X64 23H2
 ・Arduino IDE 1.8.19
 STM32_STLink

4.自動でインストールされない場合、下記を参考に自分でドライバの
 インストールを行なってみて下さい。
 ①下記へアクセスし「最新バージョンを取得」をクリックします。
 ST-LINK, ST-LINK/V2, ST-LINK/V2-1, STLINK-V3 USB driver
 signed for Windows7, Windows8, Windows10


 ST-LINKV2-driver

 ②ライセンス契約を読んで「承諾します」をクリックします。
 ➂「ゲストとしてダウンロード」をクリックします。
 ④氏名、メアドを入力し「ダウンロード用のリンクを入手」をクリックします。
 ⑤メールが届いたら「Download now」をクリックします。
 *メールが届くのが若干遅いようです。2.3分待ちます。
 ⑥「en.stsw-link009.zip」を解凍します。
 en.stsw-link009

 ⑦その中の「dpinst_amd64.exe」(64bitPCの場合)を実行
 
5.Lチカのスケッチをコンパイルして書き込んでみます。
 ①内蔵のLEDはPC13に接続されていますので、修正します。
 ②次に書き込みをクリックします。 
 ◆ここでフラッシュメモリ32kb RAM 10kb とSTM32F103C6の容量が表示されています。
  ボード情報が「STM32F103C6/fake STM32F103C8」とC8はC6もどきなので
  C6の容量が表示されているものと思われます。
 arduinoide-2
 ➂リセットがかかりLEDが点滅しました。Lチカ成功です。
 STLink-STMF103C8T6


以上



ブログトップへ

◆二度目のQY-1005のカーナビが壊れたので、他機種に変更しました。
 どうもQY-1005のMicroSDは、耐性が悪く五年位で壊れます。
 で、今回は、機種をパナソニック製のCN-R300Dの中古を入手し
 乗せ換えてみました。
 CN-300R-2

1.QY-1005と同様の機能がある物を探しCN-R300Dにしました。
 元々の配線で使えたもの
 ①20Pカプラ
 ②5Pの車速等カプラ
 ➂ステアリングスイッチ
 ④GPSアンテナ
 ⑤AM/FMアンテナ
 ⑥バックカメラ(変換アダプタ使用)
 ⑦ハンズフリーの携帯電話機能(本体にマイク内蔵) 

 ◆20P,5Pのピン配置
ピンアサイン電源ハーネス-車速信号他

2.追加購入したもの
 ①純正バックカメラ用の変換アダプタ

 >日産バックカメラ から 社外ナビ 変換
 ホンダ 日産 マツダ ダイハツ スズキ クラリオン

 Amazon.co.jpへ
      今すぐチェック

 ◆ビデオ信号は直結でも良いですが、電源を12Vから6Vに降圧して与える
  必要があります。アダプタの電圧をテスターで測定してみましたら
  6.66V出ていました。自作も出来そうです。

 S__51036171_0

 ②地デジ用フィルムアンテナ
  *アンテナケーブルは、着いてきたのでフィルムアンテナだけ
  購入して取り付けました。
 >貼り付けミス交換保障◇ワンセグ・フルセグ対応カーナビ用
 高感度地デジフィルムアンテナ(L型)4枚 端子テープ付

 Amazon.co.jpへ
      今すぐチェック

 ◆なお、アンテナケーブルは、ピラーの取り外しが一か所で済むように
  左側からのみ配線しました。
 カーナビ取付概要
 
 フィルムアンテナ

3.CN-R300Dの取付、取扱説明書は、下記でダウンロード出来ます。
 ①CN-R300D-取付説明書
 ②CN-R300D-取扱説明書
 
今日はここまで


 




ブログトップへ

◆格安40円マイコンCH32V003J4M6をArduinoIDE環境で開発時、デバッグ用に
 シリアル出力を標準出力「ピン8:PD5」(SWIOと共用)で設定した場合、プログラムの
 書き込み時、都度「WCH-LinkUtility」でリセットしないと書き込みが出来ません。
 下記ブログ内記事参照
 ・CH32V003J4M6にプログラムを書き込めなくなった時のおまじない
 よって、毎回リセットするのが、面倒なので「ピン1:PD6」に自前のシリアル出力して
 みました。
 ch32v-uart-1

1.接続図
 ①WCH-LinkEにシリアル出力する時
 ch32v-uart-10

 ②別途USB-シリアルアダプタにシリアル出力する時
 ch32v-uart-9

2.下記にスケッチを示します。
 ①PD6:ピン1に出力します。
 ②1ビットの送信時間を計算し、その間ウェイトします。
  9600bpsの場合、1000000/9600=104.17usですが、ch32v003のタイマー関連の数値は
  なぜか半分の値を設定しないと現状は駄目みたいです。
  エラーが出ないよう調整が必要です。
  現在51を設定しています。
 ◆・Arduino IDE 「1.8.19」
  ・CH32V003ボードバージョン 「1.0.4」

//ch32v003_uTx.ino
//V2024/03/03 by JK1VCK
//blog URL:http://gijin77.blog.jp/archives/40002191.html

#define uTx_pin PD6 //CH32V003J4M6 uart Tx Pin :PD6 ( Pin 1)

char buff [100]; //文字列用バッファ
const byte uTx_us=51;  // ch32v003 の場合1/2 104.8us 9600bps
//const byte uTx_us=25 ;  // 52.08us 19200bps たまにエラーとなるので調整必要

void setup() {
  pinMode(uTx_pin, OUTPUT);
  digitalWrite(uTx_pin, HIGH);
  delay(2000);
  uTx_str("ch32v003_uTx Start\n");
}

void loop() {
  sprintf(buff,"micros=%lu \n",micros());
  uTx_str(buff);
  delay(1000);
}
// 文字列出力
void uTx_str(const char  *str){
  while (*str) {
    uTx_byte(*str);
    str += 1;
  }
}
//1文字出力
void uTx_byte(byte ch){
  digitalWrite(uTx_pin, LOW);   // start bit
  delayMicroseconds(uTx_us);
  for (byte i=0; i < 8; i++){   // 8 data bit
    digitalWrite(uTx_pin, bitRead(ch,i));
    delayMicroseconds(uTx_us);   
  }
  digitalWrite(uTx_pin, HIGH);  // 1 stop bit
  delayMicroseconds(uTx_us);
} 

3.シリアルポートの設定
 ①デバイスマネージャーでの表示
 ch32v-uart-4

 ②書き込み時のシリアルポート(私の場合:COM4)
 ➂シリアルモニタ時のシリアルポート(私の場合:COM3)
 ch32v-uart-2

4.実際のシリアル出力時の表示
 ①ArduinoIDEのシリアルモニタの場合、書き込み時(COM4)と違う
  ポート(COM3)に切り替えて出力しています。
 ch32v-uart-5
 
 ②別途「TeraTerm:COM3」への出力は、書き込みとシリアル出力を変えること
  なく表示出来るので、効率が良いです。
 ch32v-uart-6

➂WCH-LinkEエミュレーターでのシリアル出力にエラーが多発する時は
  別途「USBシリアル変換アダプタ」を接続するとエラーが無くなります。
 ch32v-uart-7

 ch32v-uart-8
  
以上

 
 

ブログトップへ

◆格安40円マイコンCH32V003J4M6をArduinoIDE環境で開発時、
 「PA2」を出力に設定後「Lチカ」させると点滅しない事が判明しました。
 その他の「PC1,2,3,PD6」については、問題無しでした。
 このマイコンの書込み方法など、下記ブログ内記事を参照して下さい。
 
1.原因について
 下記URLに細かい事を調べておられるサイトが有りました。
 CH32V003 マイコンの PA1 や PA2 が使えないときに確認すること
 その中で、AFIO_PCFR1レジスタに「PA12_RM」ビットが初期設定で「1」に
 なっているようなので「0」にする必要が有るとの事でした。

2.スケッチでsetup()の最初(7行目)に「AFIO->PCFR1 &= 0xFFFF7FFF;」の
 おまじないの行を追加することで見事「PA2」でLチカ出来ました。
//ch32v003_PA2_TEST.ino
//v2024/03/01 by JK1VCK
//blog URL:http://gijin77.blog.jp/archives/39980681.html
// CH32V003J4M6のPA2の不具合

void setup() {
  AFIO->PCFR1 &= 0xFFFF7FFF; //AFIO_PCFR1レジスタに「PA12_RM」ビットを「0」にする
  pinMode(PD6, OUTPUT);
  pinMode(PA2, OUTPUT);
  pinMode(PC1, OUTPUT);
  pinMode(PC2, OUTPUT);
  pinMode(PC4, OUTPUT);
}

void loop() {
  digitalWrite(PD6,HIGH);
  digitalWrite(PA2,HIGH);
  digitalWrite(PC1,HIGH);
  digitalWrite(PC2,HIGH);
  digitalWrite(PC4,HIGH);
  delay(1000);

  digitalWrite(PD6,LOW);
  digitalWrite(PA2,LOW);
  digitalWrite(PC1,LOW);
  digitalWrite(PC2,LOW);
  digitalWrite(PC4,LOW);
  delay(1000);
  
}
3.動作写真
 ①PA2が点当していない時
 ch32v003_RA2_NG

 ②おまじない後の点灯している時
 ch32v003_RA2_OK

 ➂消灯時
 ch32v003_RA2

以上 めでたしめでたし
 

ブログトップへ



以上の内容はhttps://gijin77.blog.jp/archives/2024-03.htmlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14