Страница 3 из 4

Re: 1-wire -> ПК реализация

Добавлено: Ср дек 28, 2011 22:07:01
danger3466
Блин, да он в ATtyni13 залезет :)
962 байта с UART, после праздников куплю тиньку 13-ую, сделаю климат контроль в машину :)))
А потом продолжу чухать 1-wire, столько еще сделать надо... Один поиск как страшен в описании :kill:
Мастер Ломастер, низкий поклон тебе товарищ! От жины в первую очередь, а то она уже заскучала, а то я такой, если у меня что не получается, всю жизнь на это потрачу но разберусь :)))
А так всегда одна запятая погоду портит, в этом случае две стрелочки :)))

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? :)
Си для меня очень в новинку, а с каждым вашим советом я становлюсь мудрее 8)

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? :)
Си для меня очень в новинку, а с каждым вашим советом я становлюсь мудрее 8)
Во второй строке:

Код: Выделить всё

OBJ            = main.o
Добавляешь дальше (через пробел) список обьектных файлов, необходимых для сборки проекта, c расширением "о"

Код: Выделить всё

OBJ            = main.o module1.o modute2.o
команда маке сама будет искать файлы 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 мсек :)) :kill:

Re: 1-wire -> ПК реализация

Добавлено: Чт дек 29, 2011 16:31:17
Мастер Ломастер
md5sum писал(а):
danger3466 писал(а):

Код: Выделить всё

		for(i=0;i<8;i++) _delay_ms(100);		// Дадим 800ms на преобразование
Это место особенно радует: в 90% проектов с далласовскими термометрами гробим 800 мсек :)) :kill:
в 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 и т.д., как придет датчик, закончу