LoginSignup
0
0

More than 1 year has passed since last update.

STM32G031とシリアルのまとめ(リンク集)(STM32G031J6M6)(USART)(USRT)(LPUSRT)(Arduino)

Last updated at Posted at 2021-12-12

目的
デバッグまたは、センサーの値を出力したい
その時は、シリアルが簡単

0.PA2(PA0(4ピン))でハードウェアシリアル

OBでPA0をGPIOにする必要があるが便利。

1.Arduino標準シリアル はっきり言って使いずらい

問題点は、SWD-CLKと重なりなおかつBootと重なる為に書き込むと簡単に書き込めない

STM32G031のArduinoでのUSARTシリアル通信(STM32G031J6M6)

主なプログラム (イメージ)



Serial.begin( 9600 ); // シリアル通信の速度を9600bpsにする。


Serial.println("Hello World !");



2.ソフトウェアシリアルは、軽くておすすめ

単純にシフトしてdelayMicrosecondsでタイミングを取っているだけ

STM32G031の独自のソフトウェアシリアルでHello Worldと出力 9600bps

STM32G031で9600bpsのソフトウェアシリアルのライブラリ化

主なプログラム (イメージ)



int pc_putc(char ch) {

  digitalWrite(in7, LOW);//START
  delayMicroseconds(UART_DELAY);

  for(int ii=0;ii<8;ii++){ //Data x 8
    digitalWrite(in7, (ch>>ii)&1  );
    delayMicroseconds(UART_DELAY);
  }//for

  digitalWrite(in7, HIGH);//Stop
  delayMicroseconds(UART_DELAY);

  return(0);
}//pc_putc




3.番外編 I2C-USARTコンバータを使う バイナリーもあるよ かなりの力作

STM32G031とVSCode+STM32CubeでI2Cスレーブの受信文字をシリアル出力(受信)(STM32G031J6M6)

主なプログラム (イメージ)



 Wire.begin(sdaPin,sclPin); //STM32G031J6M6

    //I2Cに送信
    Wire.beginTransmission(0x40);
    Wire.write('A');
    Wire.endTransmission();



o_con160.jpg

いろいろ

I2Cスレーブで遊ぶ(受信)が競い合って伸びているだが
需要あるんか?(CAA45040調べ)
I2Cで単純に受信した値を返すプログラムで猛烈に単純化、簡単化
したものでチョーべり簡単(プログラムは、?)(設定は、激ムず(ちょべりバァー)(おやじギャグ)
かなり中間的なもので実質30分もかかっていないのだが。
何につかうんだ?(まあいいや)

ゴット(神)とか自分で言っているとバチが当たりそうなので
教授でいいやまたは、C教授
われは、主にインターフェース系を得意とする教授である。
マンマシーンインターフェース(UI)を様々研究している。
記事は、なぜかマシン間インターフェースばかりになっているが
良しとしょう(教授)
液晶やタクトスイッチをバカにする傾向があるが立派なマンマシーン
インターフェースである。(今時は、ヒューマンインターフェース)

STM32G031と(VSCode+STM32Cube)でI2Cスレーブで遊ぶ(受信)(STM32G031J6M6)HAL
https://qiita.com/caa45040/items/06f5d52b089a6e220f3a

STM32L010と(VSCode+STM32Cube)でI2Cスレーブで遊ぶ(受信)(STM32L010F4P6)HAL
https://qiita.com/caa45040/items/012df828e8f5c2c76eca

イメージ



        if(HAL_I2C_Slave_Receive(&hi2c2,(uint8_t*)aRxBuffer, 1, 1000) == HAL_OK) {
           str1="OK\r\n";

        } else {
           str1="NG\r\n";

        }


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0