私はあなたの資格のある助けが必要です!私はC++でプログラミングしており、PIC 18F87J50を使用して、H0ポートでDS18B20に接続しようとしています。
私の基礎となるプログラミングは正しいと思うので....私が抱えている問題(私が持っていると思います)は、ROMコマンドを実行するときに64ビットROMコードを検索していることです。
最初のバイトは、コンポーネントがどのファミリに属しているかを教えてくれるはずです(28h)。次の48ビットは、そのコンポーネントだけの一意のシリアルを提供するはずです。最後のものはCRCに使用されます。
このようにするとき、私は正しく考えていますか?
void Device_ID( uint8_t command ){
uint8_t ROM_CODE[8]; // 1 byte CRC, 6 bytes SERIAL, 1 byte Family code
uint8_t loop;
static char container[8];
OW_reset_pulse();
OW_write_byte( command );
for(loop = 0; loop < 8; loop++) // 1 byte in per time = 64-bits
{
ROM_CODE[loop] = OW_read_byte();
}
HexToStrWithZeros(ROM_CODE[0], container);
Display_Cls();
Display_StringAt ("Family Code: ",5,6);
Display_Buffer (container);
}
ROM_CODE [1-6]のコードを要求した場合、一意の番号を取得する必要がありますか?私はいけませんか?
敬具!