Advertisement
Guest User

Untitled

a guest
Jan 29th, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.59 KB | None | 0 0
  1. uint8_t temperature[2];
  2. int8_t digit;
  3. uint16_t decimal;
  4. char str_temp[10];
  5.  
  6. if (read)
  7. {
  8.     read = 0;
  9.     ow_reset();
  10.     ow_write_byte(0xCC);    // skip ROM
  11.     ow_write_byte(0xBE);    // read scratchpad
  12.  
  13.     temperature[0] = ow_read_byte();
  14.     temperature[1] = ow_read_byte();
  15.     ow_reset();
  16.  
  17.     digit = temperature[0] >> 4;
  18.     digit |= (temperature[1] & 0x7) << 4;
  19.     decimal = temperature[0] & 0xf;
  20.     decimal *= 625;
  21. }
  22. if (transmit)
  23. {
  24.     transmit = 0;
  25.     cmd = 0;
  26.  
  27.     sprintf(str_temp, "%+d.%04u", digit, decimal);
  28.     uart_print(str_temp);
  29.     uart_nwln();
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement