Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
23.03.2010, 17:42
|
|
Частый гость
Регистрация: 15.10.2009
Сообщений: 27
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
ds1820 в AVR Studio на СИ
Здравствуйте! возникла необходимость в написании кода для даласовского датчика температуры DS18s20. хотя датчик может быть с любой буквой, пока не имеет значение, хочу просто запустить пока в протеусе а потом переводить на железо в зависимости от того с каким получится. Пишу по тихоньку на Си в AVR Studio. вроде по подобию с рабочим кодом Code Vision повторил, но не работает.
Вот начало программы, которая в дольнейшем будет подпрограммой в основной проге.
#define __w1_port=0x15 ; // на этом порту висут датчик
#define __w1_bit=0// на этом пине висит датчик
#include ‹avr\1wire.h›
#include ‹avr\ds1820.h›
#define MAX_DS1820 8
unsigned char rom_codes[MAX_DS1820][9];
#include ‹stdio.h›
#include ‹avr\delay.h›
int temp[8];
void main(void)
{
unsigned char devices,i;
devices=w1_search(0xf0,rom_codes);
while (1)
{
temp[0]=ds1820_temperature_10(&rom_codes[i][0]);
if (temp›1000)
{
temp[0]=4096-temp[0];
temp[0]=-temp[0];
}
};
}
Но при попытке откомпилить выдает ошибки:
C:\temp\default/../aerg.c:17: undefined reference to `w1_search'
C:\temp\default/../aerg.c:22: undefined reference to `ds1820_temperature'
ткните носом в чем дело. Спасибо!
|
|
|
|
23.03.2010, 18:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,018
Сказал спасибо: 348
Сказали Спасибо 1,024 раз(а) в 552 сообщении(ях)
|
Re: ds1820 в AVR Studio на СИ
Сообщение от dronow87
|
ткните носом в чем дело. Спасибо!
|
Компилятор говорит, что не нашел...
В CVAVR есть библиотека, в ней есть определение функции w1_search, в AVR Studio же если вы и включаете хидер avr\1wire.h, то смотрите в нем функцию поиска 1wire устройств на линии.
С ds1820_temperature аналогично.
|
|
|
|
23.03.2010, 18:10
|
|
Временная регистрация
Регистрация: 20.02.2005
Сообщений: 90
Сказал спасибо: 10
Сказали Спасибо 36 раз(а) в 11 сообщении(ях)
|
Re: ds1820 в AVR Studio на СИ
крайне рекомендую взять абсолютно рабочий проект из папки протеуса где лежат примеры проектов - почему так говорю - потому что там лежит проект на WinAVR (на нём пишете вроде в студии?!) и уже заточен для протеуса.
Сам использовал его для разбирателоьств с 1wire и 1820 - и позаимствовал от туда функцию поиска устройств на линии и портировал её в яр - всё работает как часы
|
|
|
|
23.03.2010, 18:19
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,018
Сказал спасибо: 348
Сказали Спасибо 1,024 раз(а) в 552 сообщении(ях)
|
Re: ds1820 в AVR Studio на СИ
Сообщение от backa
|
крайне рекомендую взять абсолютно рабочий проект
|
Ну или проект от самого Atmel, почитать хотяб
http://www.gaw.ru/html.cgi/txt/app/m...avr/avr318.htm
|
|
|
|
23.03.2010, 19:21
|
|
Частый гость
Регистрация: 15.10.2009
Сообщений: 27
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: ds1820 в AVR Studio на СИ
Сообщение от Saadov
|
Компилятор говорит, что не нашел...
В CVAVR есть библиотека, в ней есть определение функции w1_search, в AVR Studio же если вы и включаете хидер avr\1wire.h, то смотрите в нем функцию поиска 1wire устройств на линии.
С ds1820_temperature аналогично.
|
Вроде есть функции такие в библиотеках
Вложения:
|
1.rar (1.2 Кб, 497 просмотров) |
|
|
|
|
23.03.2010, 19:28
|
|
Частый гость
Регистрация: 15.10.2009
Сообщений: 27
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: ds1820 в AVR Studio на СИ
Сообщение от backa
|
крайне рекомендую взять абсолютно рабочий проект из папки протеуса где лежат примеры проектов - почему так говорю - потому что там лежит проект на WinAVR (на нём пишете вроде в студии?!) и уже заточен для протеуса.
Сам использовал его для разбирателоьств с 1wire и 1820 - и позаимствовал от туда функцию поиска устройств на линии и портировал её в яр - всё работает как часы
|
как то много наворочено в этом проекте, мне бы без всего лишнего, что бы лишь бы лишь считывало значение температуры в переменную и все
|
|
|
|
23.03.2010, 20:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,018
Сказал спасибо: 348
Сказали Спасибо 1,024 раз(а) в 552 сообщении(ях)
|
Re: ds1820 в AVR Studio на СИ
Сообщение от dronow87
|
Вроде есть функции такие в библиотеках
|
Вам надо усвоить, что такое хидер. Тело самой функции где?
|
|
|
|
23.03.2010, 20:12
|
|
Частый гость
Регистрация: 15.10.2009
Сообщений: 27
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: ds1820 в AVR Studio на СИ
Сообщение от Saadov
|
Вам надо усвоить, что такое хидер. Тело самой функции где?
|
для датчика нашел вроде DS1820.LIB. в какое место нужно ложить это тело функции, рядом с DS1820.H ? а вот для 1wire не указано в файле 1WIRE.H .
|
|
|
|
23.03.2010, 20:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,018
Сказал спасибо: 348
Сказали Спасибо 1,024 раз(а) в 552 сообщении(ях)
|
Re: ds1820 в AVR Studio на СИ
Сообщение от dronow87
|
для датчика нашел вроде DS1820.LIB. в какое место нужно ложить это тело функции
|
Просмотрите из чего состоит этот файл, по сути это тот же С файл. Вот вам и ответ, надеюсь вы знаете как подключить его. Опять же в тексте этого файла используются
функции 1wire.h из CVAVR.
Найдите и прочитайте курс 123авр, там про это сказано...
|
|
|
|
23.03.2010, 23:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: ds1820 в AVR Studio на СИ
Вот - proavr.narod.ru/05.htm Язык си для микроконтроллеров
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:06.
|
|