sample using TC77 SPI Thermal Sensor
Dependencies: mbed USBDevice TC77
温度センサの TC77 を使うサンプルプログラムです。
SPIなのにIOが共通になっているという変わったチップです。
MOSIとMISOを抵抗で繋いでしまうというのがポイントで、それさえ解れば難しいトコはありません。
この例では 8ピン版の TC77を以下のように接続しています mbed TC77 MOSI p5 ---R 10K---+ | MISO p6 -----------+--- pin1 SI/O SCK p7 --------------- pin2 SCK CS p8 --------------- pin7 CS(active low)
main.cpp@4:c6d01effe858, 2016-06-10 (annotated)
- Committer:
- jk1lot
- Date:
- Fri Jun 10 15:21:49 2016 +0000
- Revision:
- 4:c6d01effe858
- Parent:
- 3:166569cca64e
Create TC77 library
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jk1lot | 0:3399eacde675 | 1 | /* |
jk1lot | 0:3399eacde675 | 2 | * TC77 SPI Thermal Sensor |
jk1lot | 0:3399eacde675 | 3 | * |
jk1lot | 0:3399eacde675 | 4 | * mbed TC77 |
jk1lot | 0:3399eacde675 | 5 | * pin5 MOSI ---R 10K---+ |
jk1lot | 0:3399eacde675 | 6 | * | |
jk1lot | 0:3399eacde675 | 7 | * pin6 MISO -----------+--- pin1 SI/O |
jk1lot | 0:3399eacde675 | 8 | * |
jk1lot | 0:3399eacde675 | 9 | * pin7 SCK -------------- pin2 SCK |
jk1lot | 0:3399eacde675 | 10 | * |
jk1lot | 0:3399eacde675 | 11 | * pin8 CS -------------- pin7 CS(active low) |
jk1lot | 0:3399eacde675 | 12 | * |
jk1lot | 0:3399eacde675 | 13 | * |
jk1lot | 0:3399eacde675 | 14 | */ |
jk1lot | 0:3399eacde675 | 15 | |
jk1lot | 0:3399eacde675 | 16 | #include "mbed.h" |
jk1lot | 3:166569cca64e | 17 | #include "TC77.h" |
jk1lot | 0:3399eacde675 | 18 | |
jk1lot | 1:eb8728f10ef2 | 19 | //トラ技ARMライタではPCとの通信でUSBシリアルを使うにはUSBDeviceライブラリが必要 |
jk1lot | 1:eb8728f10ef2 | 20 | #ifdef TARGET_LPC11U35_501 |
jk1lot | 1:eb8728f10ef2 | 21 | #include "USBSerial.h" |
jk1lot | 1:eb8728f10ef2 | 22 | USBSerial pc; |
jk1lot | 1:eb8728f10ef2 | 23 | #else |
jk1lot | 1:eb8728f10ef2 | 24 | Serial pc(USBTX,USBRX); |
jk1lot | 1:eb8728f10ef2 | 25 | #endif |
jk1lot | 0:3399eacde675 | 26 | |
jk1lot | 0:3399eacde675 | 27 | SPI spi1(p5,p6,p7); |
jk1lot | 3:166569cca64e | 28 | TC77 tc77(&spi1, p8); |
jk1lot | 0:3399eacde675 | 29 | |
jk1lot | 0:3399eacde675 | 30 | int main() { |
jk1lot | 1:eb8728f10ef2 | 31 | tc77.start(); |
jk1lot | 0:3399eacde675 | 32 | while(true) { |
jk1lot | 1:eb8728f10ef2 | 33 | pc.printf("%.1f \r\n",tc77.temperature()); |
jk1lot | 0:3399eacde675 | 34 | wait(1.0); |
jk1lot | 1:eb8728f10ef2 | 35 | //pc.printf("%x\r\n",tc77.id()); |
jk1lot | 1:eb8728f10ef2 | 36 | //wait(1.0); |
jk1lot | 0:3399eacde675 | 37 | } |
jk1lot | 0:3399eacde675 | 38 | } |