Страница 3 из 4
Re: 1-wire -> ПК реализация
Добавлено: Ср дек 28, 2011 22:07:01
danger3466
Блин, да он в ATtyni13 залезет

962 байта с UART, после праздников куплю тиньку 13-ую, сделаю климат контроль в машину

А потом продолжу чухать 1-wire, столько еще сделать надо... Один поиск как страшен в описании

Мастер Ломастер, низкий поклон тебе товарищ! От жины в первую очередь, а то она уже заскучала, а то я такой, если у меня что не получается, всю жизнь на это потрачу но разберусь

А так всегда одна запятая погоду портит, в этом случае две стрелочки

Re: 1-wire -> ПК реализация
Добавлено: Ср дек 28, 2011 22:16:52
danger3466
Может кому пригодится оставлю конечный вариант.
Пример как работать с устройствами 1-wire через МК ATtiny/ATMega в WinAVR/avr-gcc
Все функции низкого уровня реализованы, осталось отправлять команды и получать ответы, считай API.
Только если кто будет пробовать обратите внимание что хоть температура и циклически выводится, преобразование происходит один раз при запуске! Как циклическое преобразование включить(какой командой) еще не искал
Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 07:51:53
Мастер Ломастер
хочу вас предостеречь об одном, на что вы обязательно нопоретесь, если продолжите и далее писать программы в том же стиле, что сейчас.
файлы, подключаемые директивой #include, не должны содержать исходников (т.е. переменных, функций и т.п.) - это ЗАГОЛОВОЧНЫЕ файлы, в них должны присутствовать ТОЛЬКО ОПИСАНИЯ функций, переменных (если надо), типов, констант и т.п. а сами функции и переменные должны находиться в файлах с расширениес .c, которые должны компилироваться, т.е. подключаться к проекту именно как исходные тексты.
у вас же сейчас все не так - это неправильно.
Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 09:54:00
danger3466
Мастер Ломастер писал(а):хочу вас предостеречь об одном, на что вы обязательно нопоретесь, если продолжите и далее писать программы в том же стиле, что сейчас.
файлы, подключаемые директивой #include, не должны содержать исходников (т.е. переменных, функций и т.п.) - это ЗАГОЛОВОЧНЫЕ файлы, в них должны присутствовать ТОЛЬКО ОПИСАНИЯ функций, переменных (если надо), типов, констант и т.п. а сами функции и переменные должны находиться в файлах с расширениес .c, которые должны компилироваться, т.е. подключаться к проекту именно как исходные тексты.
у вас же сейчас все не так - это неправильно.
Мастер Ломастер, я знаю, может сразу подскажете как в Makefile подключить этот самый
.c?

Си для меня очень в новинку, а с каждым вашим советом я становлюсь мудрее

Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 09:57:24
Мастер Ломастер
добавьте его к списку исходников, вот и все. можно воспользоваться генератором makefile, который в комплекте с WinAVR идет. а можно сразу в студии в окошке проекта добавить - тогда и makefile не придется самому делать.
Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 12:11:56
danger3466
Мастер Ломастер писал(а):добавьте его к списку исходников, вот и все. можно воспользоваться генератором makefile, который в комплекте с WinAVR идет. а можно сразу в студии в окошке проекта добавить - тогда и makefile не придется самому делать.
Эм, я из под линукса, код пишу в аналоге вашего блокнота, а компилирую avg-gcc, IDE нема

Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 12:13:36
Мастер Ломастер
на сколько я в курсе, студия отлично запускается из-под wine
а для совсем принципиальных есть Eclipse - это ваще песня, только симулятора нету (хотя вроде как для линуха есть avrsim и другое)
Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 12:53:55
md5sum
danger3466 писал(а):Эм, я из под линукса, код пишу в аналоге вашего блокнота, а компилирую avg-gcc, IDE нема

Тогда выкладывай Makefile

Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 13:05:18
danger3466
md5sum, чуть выше исходники, там и Makefile
Мастер Ломастер, интересно что за зверь avrsim, на днях поищу... Я просто не привычен к IDE, я часто скрипты пишу просто в gedit(считай блокнот), вот и привычка выробаталась

Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 13:08:18
Мастер Ломастер
danger3466 писал(а):Мастер Ломастер, интересно что за зверь avrsim, на днях поищу...
как по мне - так лабода какая-то... для линуха и simavr, и avrsim и avrsimul кажется есть - но все это с моей точки зрения и рядом не стоит со студией... а по поводу IDE - одно дело скрипт в консольке накидать для чего-то быстрого, другое дело часами над программой работать. IDE в этом случае сильно помогает. попробуйте Eclipse

Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 13:28:15
ploop
Я просто не привычен к IDE, я часто скрипты пишу просто в gedit(считай блокнот), вот и привычка выробаталась

Для начала на Geany перебирайтесь. Такой же лёгкий, но удобнее Gedit'а.
Ща проект на асме в нём делаю, а он асм не любит, даже подсветки синтаксиса толковой нет. Ничего, уже за 1700 строк перевалил. Зато компилить и прошивать одной кнопкой.
А для Си самое то.
Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 13:57:18
md5sum
danger3466 писал(а):может сразу подскажете как в Makefile подключить этот самый
.c?

Си для меня очень в новинку, а с каждым вашим советом я становлюсь мудрее

Во второй строке:
Добавляешь дальше (через пробел) список обьектных файлов, необходимых для сборки проекта, c расширением "о"
команда маке сама будет искать файлы module1.c и module2.c.
Для этого добавь строку после main.o: main.c
Код: Выделить всё
.c.o:
$(CC) $(CFLAGS) $(LDFLAGS) -c $^ $(LIBS)
PS описание правил начинаются с табуляции, пробелы не ставить.
Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 15:07:38
danger3466
ploop писал(а):Я просто не привычен к IDE, я часто скрипты пишу просто в gedit(считай блокнот), вот и привычка выробаталась

Для начала на Geany перебирайтесь. Такой же лёгкий, но удобнее Gedit'а.
Ща проект на асме в нём делаю, а он асм не любит, даже подсветки синтаксиса толковой нет. Ничего, уже за 1700 строк перевалил. Зато компилить и прошивать одной кнопкой.
А для Си самое то.
gedit тоже умеет компилить , и подсветка есть, но asm тоже не знает
md5sum, спасибо буду перекидывать как положено подправлю
Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 15:45:13
danger3466
Может кому пригодится пример с циклическим преобразование температуры
Код: Выделить всё
if(OWI_Reset()) { // Ресет для проверки есть ли ведомое устройство на линии
OWI_Send_byte(0xAC); // Команда чтения конфига (1SHOT в том числе)
status = OWI_Read_byte(); // 1SHOT = 0;
status &= ~_BV(7);
OWI_Reset(); // Сброс перед новой командой
OWI_Send_byte(0x0C); // Команда записать конфиг (1SHOT в том числе)
OWI_Send_byte(status); // Команда записи конфига (1SHOT в том числе)
OWI_Reset(); // Сброс перед новой командой
OWI_Send_byte(0xEE); // Команда начать преобразование температуры
unsigned char i;
for(i=0;i<8;i++) _delay_ms(100); // Дадим 800ms на преобразование
while(1) {
OWI_Reset(); // Сброс перед новой командой
OWI_Send_byte(0xAA); // Запрос температуры
_delay_us(5);
print_byte(OWI_Read_byte()); // Выводим байт
}
}
Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 15:52:15
ploop
А если несколько датчиков?
Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 16:10:17
md5sum
danger3466 писал(а):Код: Выделить всё
for(i=0;i<8;i++) _delay_ms(100); // Дадим 800ms на преобразование
Это место особенно радует: в 90% проектов с далласовскими термометрами гробим 800 мсек

Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 16:31:17
Мастер Ломастер
md5sum писал(а):danger3466 писал(а):Код: Выделить всё
for(i=0;i<8;i++) _delay_ms(100); // Дадим 800ms на преобразование
Это место особенно радует: в 90% проектов с далласовскими термометрами гробим 800 мсек

в 90% проектов все равно больше делать нечего

Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 16:47:04
danger3466
ploop писал(а):А если несколько датчиков?
Пока в наличии только ds1821, а он не умеет работать в паре и более
Нет у него команд SEARCH ROM, READ ROM и т.д.
Придет ds18b20 будет поиск

Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 17:28:32
vano11
Уважаемый
danger3466 Может стоит поправить название темы "1-wire -> ПК реализация" в "1-wire -> МК реализация"? А то я все захожу, жду когда ПК реализация начнется

.
Re: 1-wire -> ПК реализация
Добавлено: Чт дек 29, 2011 18:01:52
danger3466
vano11 писал(а):Уважаемый
danger3466 Может стоит поправить название темы "1-wire -> ПК реализация" в "1-wire -> МК реализация"? А то я все захожу, жду когда ПК реализация начнется

.
Пока нет возможности реализовать все функции, имеющийся ds1821 ущербный, в нем нет SEARCH ROM, READ ROM и т.д., как придет датчик, закончу