Gast
#783547
Hier der Code habe ich hier aus dem Forum übernommen funktioniert alles
über 0 grad aber unter null fehlt mir das - zeichen.
Wie bekomme ich das vorzeichen`???
void read_meas( void )
{
uchar id[8], diff;
uchar s[30];
uchar i;
uint temp;
for( diff = SEARCH_FIRST; diff != LAST_DEVICE; ){
diff = w1_rom_search( diff, id );
if( diff == PRESENCE_ERR ){
send_UART( "No Sensor found" );
break;
}
if( diff == DATA_ERR ){
send_UART( "Bus Error" );
break;
}
if( id[0] == 0x28 || id[0] == 0x10 ){ // temperature sensor
send_UART( "ID: " );
for( i = 0; i < 8; i++ ){
sprintf( s, "%02X ", id[i] );
send_UART( &s[0] );
}
w1_byte_wr( READ ); // read command
temp = w1_byte_rd(); // low byte
temp |= (uint)w1_byte_rd() << 8; // high byte
if( id[0] == 0x10 ) // 9 -> 12 bit
temp <<= 3;
sprintf( s, " T: %04X = ", temp ); // hex value
send_UART( &s[0] );
sprintf( s, "%4d.%01d Grad Celsius\r\n", temp >> 4, (temp << 12) /
6553 ); // 0.1øC
send_UART( &s[0] );
}
}
send_UART( "" );
}
danke