STM32G031とMCP9701で温度をシリアルに出力 (STM32)


X swd-sck-txを潰すので上級者用 (リセット対応していないと書き込みが難しい)
X 極めてプログラムは、シンプル
X [ツール]->[U[S]ART support ...]->[Enabled generic Serial]
X STM32G031の電源を入れた後にSerialの電源を入れる bootが起動するため
X 参考程度に
X シリアル通信と6GPIOを参照のこと
X 3秒以内にST-LINKを接続すると繋がるかも

目的
秋月で売っている安価なMCP9701(約25円)を使って温度を
シリアルに出力する。

構成
MCP9701-E/TO I-03199
STM32G031J6M6



//初期化
void setup()
{

  delay(3000); //not Delete

  Serial.begin(9600);

} //setup

//メインループ
void loop()
{

  int s;  //センサーの値
  int n0; //小数点以上

  analogReadResolution(12);
  s = analogRead(A3); // PA11 PIN5

  //電圧を温度に変換 ex 20.0 -> 200 温度の十倍を出力
  s=((s*1692)>>12)-205;

  //s = 0;   //0  debug
  //s = 200; //20 debug

  //小数点以上と小数点以下を分ける
  n0 =(s/10);      // 小数点以上
  s  =(s-(n0*10)); // 小数点以下

  //温度の小数点以上の表示
  Serial.print(n0);

  //小数点の表示
  Serial.print('.');

  //温度の小数点以下の表示
  Serial.println(s);

  //1秒の待ち
  delay(1000);

} //loop