Обсуждаем контроллеры компании Atmel.
Ответить

1-Wire. DS18B20. AVR. USART

Пт янв 10, 2020 15:03:07

Просьба поделиться рабочей библиотекой. Интересует только библиотека 1-Wire. USART. Си. Желательно на прерываниях. И ваша реализация перевода температуры в десятичный код. Нет времени полностью вникать. Мне нужно проверить одну идею с термодатчиком.

Re: 1-Wire. DS18B20. AVR. USART

Пт янв 10, 2020 15:21:10

а у нас нет времени искать для тебя библиотеку и подкидывать тебе код...

Re: 1-Wire. DS18B20. AVR. USART

Пт янв 10, 2020 15:42:01

Где-то справедливо где-то нет... У вас есть такой рабочий проект? Есть даете - гуд, не даете, ну и пусть. Нет? Я не прошу искать за меня в интернете. Этим я и сам сейчас занимаюсь.

Re: 1-Wire. DS18B20. AVR. USART

Пт янв 10, 2020 16:21:41

посмотри тут там в моем проекте работа с датчиком сделана на прерываниях таймера, но нет CRC и адресов на шине (рассчитана на 1 датчик), есть там и другие проверенные проекты, может чего понравится...

Re: 1-Wire. DS18B20. AVR. USART

Пт янв 10, 2020 17:23:31

У меня для STM8 есть. На таймере с перерываниями. А на STM32 делал на таймере и DMA.

Re: 1-Wire. DS18B20. AVR. USART

Сб янв 11, 2020 08:24:41

Demiurg писал(а):У вас есть такой рабочий проект?
у меня в моих проектах есть работа с DS18B20 и с USART на ассемблере. а ты просил на Си.

Re: 1-Wire. DS18B20. AVR. USART

Сб янв 11, 2020 12:21:44

Demiurg писал(а):У вас есть такой рабочий проект?
у меня в моих проектах есть работа с DS18B20 и с USART на ассемблере. а ты просил на Си.

Пойдёт. Заранее сенкс.

Re: 1-Wire. DS18B20. AVR. USART

Вс янв 12, 2020 20:22:57

получай.
я из готового проекта удалил всё лишнее и оставил только работу с DS18B20 и USART.
и еще кое-что оставил для полного понимания...
Вложения
DS18B20 + USART.asm
(8.08 KiB) Скачиваний: 42

Re: 1-Wire. DS18B20. AVR. USART

Пн янв 13, 2020 17:03:11

Посмотрел код...
ZH не установлен. Это ошибка.
Не очень понятны манипуляции заданием скорости USART. Если это попытка максимально приблизиться к номиналу, то это делается проще и точнее. Типа
UBRR=(F_cpu+8*BAUD)/BAUD/16-1

Re: 1-Wire. DS18B20. AVR. USART

Пн янв 13, 2020 18:45:47

ZH у меня установлен равным нулю. получилось, что это убрал вместе с другими ненужными строками.
никаких хитрых манипуляций со скоростью я не делал.
чтобы долго не думать, число взято из таблицы в даташите (для 8 МГц 9600 бод).
мне удобнее сразу написать число, а тебе, видимо, удобнее писать формулы.

Re: 1-Wire. DS18B20. AVR. USART

Вт янв 14, 2020 17:12:19

Благодарствую за примеры. На работу вышел после длительного больничного. Будет время, сяду разбираться.
Ответить