Перейти к содержанию

по урокам "Грызем микроконтроллеры"


Рекомендуемые сообщения

появилось время чуток для изученя программирования и необходим четырёхзоный термометр.

По четвёртому уроку Владимира "Грызем микроконтроллеры" собрал схему, подцепил датчики, температуру показывают, но без десятых долей.

Нашёл эти "десятые" доли, но точку их отделяющие найти не могу.

Помогите, плизззз, тугому :smile:

Ссылка на комментарий
Поделиться на другие сайты

...но точку их отделяющие найти не могу...

А где Вы их ищите то? В полученном от датчика коде? Так их там нет, если десятые доли нашли и они выводятся то точку нужно просто тупо нарисовать самому между целыми и десятыми.

Ссылка на комментарий
Поделиться на другие сайты

Да это то понятно, вопрос как это сделать в программе? В CodVi.FVR?

У меня DS18B20е.

 

Добавлено после раздумий:

Имел ввиду AVR.

И хотелось бы туда ещё часики внедрить.

И хотелось бы чтобы наши на самом деле грамотные учителя по программированию на примере готовых программ разъясняли что зачем и почему.

это для туповатых в этом деле, вроде меня

Ссылка на комментарий
Поделиться на другие сайты

Так разве в этих уроках на примере готовых программ все и не разъясняется?

На мой взгляд очень доходчиво все описано и разжевано, я в свое время именно по этим урокам этот форум и нашел.

Если имеются в виду не примеры программ, а полноценные программы каких то устройств то поверьте там Вы точно запутаетесь, вот такие примеры где описывается, что то одно лучше всего для изучения.

А насчет запятой, в примере, обратите внимание на вывод напряжения, ситуация практически та же самая, от АЦП мы получаем целое число, а выводим с запятой.

 

Добавлено после раздумий:

Ну или как вариант можно еще использовать разложение чисел, например вот такой подпрограммой

 

void decbin_ds (unsigned int x)  
{
с3=0;c2=0;c1=0;c0=0;
while (x>=1000){x-=1000;c3++;}
while (x>=100){x-=100;c2++;}
while (x>=10){x-=10;c1++;}
c0=x;
}

 

отправляем в нее полученную от датчика температуру

decbin_ds(температура);

И в переменных с3-с0 получаем отдельные числа, выводим их по очереди и между с1 и с0 добавляем еще и знак запятой.

Изменено пользователем hsl
Ссылка на комментарий
Поделиться на другие сайты

Серёж, спасибо!

Приеду - попробую ( в данный момент чуток не на работе, за 600 км от неё)

Попробую ещё раз изучить эти статьи.

Я ведь не внимательный скорей всего чёт и впрямь упустил

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...