stm32f103c8 s5851 r1

Dependencies:   mbed mbed-STM32F103C8T6 USBDevice_STM32F103

Committer:
caa45040
Date:
Thu Jun 17 12:06:42 2021 +0000
Revision:
0:c6bef2125fe4
stm32f103c8 s5851 1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
caa45040 0:c6bef2125fe4 1 #include "stm32f103c8t6.h"
caa45040 0:c6bef2125fe4 2 #include "mbed.h"
caa45040 0:c6bef2125fe4 3 #include "USBSerial.h"
caa45040 0:c6bef2125fe4 4
caa45040 0:c6bef2125fe4 5 USBSerial usbSerial(0x1f00, 0x2012, 0x0001, false); // connection is not blocked when USB is not plugged in
caa45040 0:c6bef2125fe4 6 //Serial pc(PA_2, PA_3);
caa45040 0:c6bef2125fe4 7
caa45040 0:c6bef2125fe4 8
caa45040 0:c6bef2125fe4 9 //#define S5851A 0x48
caa45040 0:c6bef2125fe4 10 #define ADDR ((0x48)<<1) // address
caa45040 0:c6bef2125fe4 11
caa45040 0:c6bef2125fe4 12 //I2C i2c(I2C_SDA, I2C_SCL);
caa45040 0:c6bef2125fe4 13 I2C i2c(PB_7, PB_6); //103
caa45040 0:c6bef2125fe4 14
caa45040 0:c6bef2125fe4 15
caa45040 0:c6bef2125fe4 16 int tempval; //温度
caa45040 0:c6bef2125fe4 17 char data_read[6]; //i2cバッファー
caa45040 0:c6bef2125fe4 18 int n10; //10の桁
caa45040 0:c6bef2125fe4 19
caa45040 0:c6bef2125fe4 20 int main() {
caa45040 0:c6bef2125fe4 21 confSysClock(); //Configure system clock (72MHz HSE clock, 48MHz USB clock)
caa45040 0:c6bef2125fe4 22
caa45040 0:c6bef2125fe4 23 //usbSerial.printf("\r\n103\r\n");
caa45040 0:c6bef2125fe4 24
caa45040 0:c6bef2125fe4 25 while(1) {
caa45040 0:c6bef2125fe4 26
caa45040 0:c6bef2125fe4 27 //初期化
caa45040 0:c6bef2125fe4 28 //set address 0
caa45040 0:c6bef2125fe4 29 i2c.write(ADDR, "\000", 1); //addres 0
caa45040 0:c6bef2125fe4 30
caa45040 0:c6bef2125fe4 31 //温度の読み込み
caa45040 0:c6bef2125fe4 32 // Read temperature register
caa45040 0:c6bef2125fe4 33 i2c.read(ADDR, data_read,1,false);
caa45040 0:c6bef2125fe4 34
caa45040 0:c6bef2125fe4 35 //温度の保存
caa45040 0:c6bef2125fe4 36 // Calculate temperature value in Celcius
caa45040 0:c6bef2125fe4 37 tempval = data_read[0];
caa45040 0:c6bef2125fe4 38
caa45040 0:c6bef2125fe4 39 //tempval = 12; //debug
caa45040 0:c6bef2125fe4 40
caa45040 0:c6bef2125fe4 41 //計算
caa45040 0:c6bef2125fe4 42 // Calculation temp
caa45040 0:c6bef2125fe4 43 n10 = tempval/10; //10の桁
caa45040 0:c6bef2125fe4 44 tempval = tempval - ( n10 * 10 ); //1の桁
caa45040 0:c6bef2125fe4 45
caa45040 0:c6bef2125fe4 46 //液晶に出力
caa45040 0:c6bef2125fe4 47 // Display result
caa45040 0:c6bef2125fe4 48 data_read[0] = '0' + n10;
caa45040 0:c6bef2125fe4 49 data_read[1] = '0' + tempval;
caa45040 0:c6bef2125fe4 50 data_read[2] = '\r';
caa45040 0:c6bef2125fe4 51 data_read[3] = '\n';
caa45040 0:c6bef2125fe4 52 data_read[4] = 0;
caa45040 0:c6bef2125fe4 53
caa45040 0:c6bef2125fe4 54 //温度の出力
caa45040 0:c6bef2125fe4 55 //puts(data_read); //010
caa45040 0:c6bef2125fe4 56 //pc.printf(data_read); //767
caa45040 0:c6bef2125fe4 57 usbSerial.printf(data_read); //103
caa45040 0:c6bef2125fe4 58
caa45040 0:c6bef2125fe4 59 //1秒待つ
caa45040 0:c6bef2125fe4 60 wait_ms(1000);
caa45040 0:c6bef2125fe4 61
caa45040 0:c6bef2125fe4 62 }//while
caa45040 0:c6bef2125fe4 63
caa45040 0:c6bef2125fe4 64 }//main
caa45040 0:c6bef2125fe4 65