0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

STM32L010で温度,S-5851Aをシリアル出力 (RawSerial)

Last updated at Posted at 2021-06-12

x 愛用していたSTTS751の入手が難しくなったので代用品は、S-5851A。(おもにアドレスの違い)

x Mbedのリビジョン125

目的
愛用していたSTTS751の入手が難しくなったので
代用として、S-5851Aを採用した。
基本的には、IDアドレスが違うだけ
0x48の左シフト1回がアドレス
STM32L010の軽量コンパクト版を移植していく。
STTS751を使っていた理由は、単に安かっただけ。

1.SCLとSDAを接続、プルアップも忘れずに
2.電源の接続
3.下記のソースコードを書き込む
4.コンパイル実行で表示されたら終了
5.おわり



#include "mbed.h"

//10の割り算 0から1028までは、正しい。主に0から999
#define DVI10(n) ((n*205)>>11)

//#define S5851A 0x48
#define ADDR        ((0x48)<<1)   //  address

//Serial pc(SERIAL_TX, SERIAL_RX); //767
RawSerial pc(PA_2, PA_3); //010

//I2C i2c(I2C_SDA, I2C_SCL); //767
//I2C i2c(dp5, dp27); //1114
I2C i2c(PA_10, PA_9); //010

int     tempval;        //温度
char    data_read[6];   //i2cバッファー
int     n10;            //10の桁

int main()
{
    
    //pc.printf("\r\n767\r\n"); //767
    
    while (1) {

        //初期化
        //set address 0
        i2c.write(ADDR, "\000", 1); //addres 0

        //温度の読み込み
        // Read temperature register
        i2c.read(ADDR, data_read,1,false);

        //温度の保存
        // Calculate temperature value in Celcius
        tempval =  data_read[0];
    
        //tempval = 12; //debug
    
        //計算
        // Calculation temp
        //tempval = 12;
        n10 = DVI10(tempval);             //10の桁
        tempval = tempval - ( n10 * 10 ); //1の桁

        //液晶に出力
        // Display result
        data_read[0] = '0' + n10;
        data_read[1] = '0' + tempval;
        data_read[2] = '\r';
        //data_read[3] = '\n';
        data_read[3] = 0;

        //温度の出力
        puts(data_read); //010
        //pc.printf(data_read); //767

    //1秒待つ
        wait_ms(1000);
    }//while

}//main

//容量削減
void error(const char* format, ...){}


i2c_s5851a_010_1.jpg

i2c_s5851a_010_2.jpg

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?