詳細温度センサtmp 275駆動
TI(テキサス機器)のデジタル温度センサtmp 275を紹介し,駆動記述を一歩一歩説明した.
tmp 275典型的な接続:
tmp 275中国語チップデータマニュアル:http://download.csdn.net/detail/u012819339/9093043
このデバイスはI 2 C通信なので、I 2 Cを知っていると仮定し、
次に、上記の関数を用いて読み書きTMP 275レジスタのAPIを書き出し、TMP 275チップデータマニュアルを参照する.
TMP 275レジスタへのバイト書き込み:
チップでデータを書きたいときに必要な手順は、1.書き込みチップアドレス(チップA 0,A 1,A 2がともにローレベルであると仮定すると、アドレスバイトは0 x 90であるべきである).ライトポインタレジスタ
3.書き込み2バイトデータ(実際の読み出しバイト数は自己制御可能であり、ここでは2バイトを例に挙げる)これにより、以下のようにTMP 275チップレジスタを書き込むAPIを書くことができるようになった
TMP 275レジスタからデータを読み出す
シーケンス図によりデータを整理する手順:1.書き込みチップアドレス(チップA 0,A 1,A 2がともにローレベルであると仮定すると、アドレスバイトは0 x 90であるべきである).書き込みポインタレジスタ(前に説明したが、余計なことは言わない).再度チップアドレスを書き込むが、ここでは読み出し動作であるため、アドレスの最後のビットはハイレベルである(チップA 0,A 1,A 2がともにローレベルであると仮定すると、アドレスバイトは0 x 91であるべきである).2バイトデータの読み出し(実際の読み出しバイト数は自己制御可能であり、ここでは2バイトを例に挙げる)
読み出しTMP 275チップレジスタAPIは以下の通りである
tmp 275をどのように使うかは、その構成レジスタをよく構成しなければなりません.フォーマットは以下の通りです.
チップマニュアルは自分で読むことができますが、本稿の重点はこれで終わります.
tmp 275典型的な接続:
tmp 275中国語チップデータマニュアル:http://download.csdn.net/detail/u012819339/9093043
このデバイスはI 2 C通信なので、I 2 Cを知っていると仮定し、
I2C_init(),
I2C_start(),
I2C_stop(),
I2C_respon(),
I2C_ACK(),
I2C_writebyte(),
I2C_read(),
次に、上記の関数を用いて読み書きTMP 275レジスタのAPIを書き出し、TMP 275チップデータマニュアルを参照する.
TMP 275レジスタへのバイト書き込み:
チップでデータを書きたいときに必要な手順は、1.書き込みチップアドレス(チップA 0,A 1,A 2がともにローレベルであると仮定すると、アドレスバイトは0 x 90であるべきである).ライトポインタレジスタ
3.書き込み2バイトデータ(実際の読み出しバイト数は自己制御可能であり、ここでは2バイトを例に挙げる)これにより、以下のようにTMP 275チップレジスタを書き込むAPIを書くことができるようになった
void writeTMP275_reg(unsigned char address,unsigned int data)
{
unsigned char data_H,data_L;
data_L = (unsigned char)data;
data_H = (unsigned char)(data>>8);
I2C_init();
I2C_start();
I2C_writebyte(0x90);// 0,
I2C_respon();
I2C_writebyte(address);
I2C_respon();
I2C_writebyte(data_H);
I2C_respon();
I2C_writebyte(data_L);
I2C_respon();
I2C_stop();
}
TMP 275レジスタからデータを読み出す
シーケンス図によりデータを整理する手順:1.書き込みチップアドレス(チップA 0,A 1,A 2がともにローレベルであると仮定すると、アドレスバイトは0 x 90であるべきである).書き込みポインタレジスタ(前に説明したが、余計なことは言わない).再度チップアドレスを書き込むが、ここでは読み出し動作であるため、アドレスの最後のビットはハイレベルである(チップA 0,A 1,A 2がともにローレベルであると仮定すると、アドレスバイトは0 x 91であるべきである).2バイトデータの読み出し(実際の読み出しバイト数は自己制御可能であり、ここでは2バイトを例に挙げる)
読み出しTMP 275チップレジスタAPIは以下の通りである
unsigned int readTMP275_reg(unsigned char address)
{
unsigned int temp = 0;
I2C_init();
I2C_start();
I2C_writebyte(0x90);// 0,
I2C_respon();
I2C_writebyte(address);
I2C_respon();
I2C_start();
I2C_writebyte(0x91);// 0,
I2C_respon();
temp = I2C_read();//
I2C_ACK();
temp = (temp<<8);
temp = I2C_read();//
I2C_ACK();
I2C_stop();
return temp;
}
tmp 275をどのように使うかは、その構成レジスタをよく構成しなければなりません.フォーマットは以下の通りです.
チップマニュアルは自分で読むことができますが、本稿の重点はこれで終わります.