Цитата(adnega @ Oct 2 2013, 21:43)

printf("Hello World") работает?
Это работает

Вопрос в том чтобы преобразовать значение с термометра DS18B20 в строчку printf("...") и чтобы температура выводилась в виде 25.6
Я считал температуру с датчика DS18B20 и она содержится в 2-х байтах. В старшем (temp1) и младшем (temp2).
Я уже научился выводить целую часть температуры:
Код
temperatura = ((temp1)<<4)|(temp2>>4);
printf("temp = %d C\r\n",temperatura);
и вижу на компе текст (комп с микроконтроллером общаются по усарту)
temp = 26 С
А вот с дробной частью пока проблема

Отрицательные температуры ещё не делал

Цитата(adnega @ Oct 2 2013, 21:43)


там то работает.
Дело в том что у термометра DS18B20 температура считывается определённым образом.
Как видно из скрина старший байт только в младшей тетраде содержит значения целой части температуры.
А младший - старшая тетрада содержит также целую часть, а младшая тетрада младшего байта содержит только лишь дробную часть.
Спасибо что отозвались!
Сообщение отредактировал Pilot134 - Oct 2 2013, 16:03
Эскизы прикрепленных изображений