CodeVision AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение ARV »

sachok писал(а):

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

    
int min = 0, sec = 0, msec = 0;
sprintf(buffer, "%02d:%02d:%02d", min, sec, msec); // вывод в поле минимум 2 символа, выравнивание по правому краю
lcd_puts(buffer);

Должно вывести "00:00:00", а ничего не получается, ничего не выводит. Версия компилятора 2.03.4 Кто то сталкивался с таким?

что из себя представляет buffer ?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение sachok »

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

unsigned char buffer [33];
Я не Сашок!!!
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение sachok »

В версии 2.04.8b всё работает. Видимо что то с библиотекой в старой версии.
Я не Сашок!!!
Аватара пользователя
ValBag
Потрогал лапой паяльник
Сообщения: 326
Зарегистрирован: Сб сен 06, 2008 12:56:13

Re: CodeVision AVR в вопросах и ответах

Сообщение ValBag »

sachok писал(а):В версии 2.04.8b всё работает.
А таблетка на эту версию имеется?
Аватара пользователя
hotstay
Родился
Сообщения: 2
Зарегистрирован: Чт июл 01, 2010 13:04:16
Откуда: Ростов-на-Дону

Re: CodeVision AVR в вопросах и ответах

Сообщение hotstay »

Доброе время суток.
Хочу "разместить" несколько датчиков DS1820 на Atmega8... Предварительно пометив их к примеру разными цветами.
(temp[0]=ds1820_temperature_10(&rom_codes[0][0])/10;)
Подскажите пожалуйста как мне считать температуру с датчика с определенным ROM кодом(серийным номером).
Либо киньте ссылку где про это можно прочесть по подробней.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение ARV »

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

Мой уютный бложик... заходите!
Saadov
Нашел транзистор. Понюхал.
Сообщения: 155
Зарегистрирован: Вт авг 19, 2008 23:39:59
Откуда: г.Смоленск

Re: CodeVision AVR в вопросах и ответах

Сообщение Saadov »

hotstay писал(а):Доброе время суток.
Хочу "разместить" несколько датчиков DS1820 на Atmega8... Предварительно пометив их к примеру разными цветами.
(temp[0]=ds1820_temperature_10(&rom_codes[0][0])/10;)
Подскажите пожалуйста как мне считать температуру с датчика с определенным ROM кодом(серийным номером).
Либо киньте ссылку где про это можно прочесть по подробней.

Здесь и почитать HELP CVAVR
Library Functions Reference
|
1 Wire Protocol Functions
|
Maxim/Dallas Semiconductor DS1820/DS18S20 Temperature Sensors Functions

Подскажите пожалуйста как мне считать температуру с датчика с определенным ROM кодом(серийным номером)

Написано
int ds1820_temperature_10(unsigned char *addr)


this function returns the temperature of the DS1820/DS18S20 sensor with the ROM code stored in an array of 8 bytes located at address addr


Что в переводе
int ds1820_temperature_10(unsigned char *addr)

эта функция возвращает температуру датчика DS1820/DS18S20 с кодом ROM, сохраненным в массиве 8 байтов, расположенных в адресе addr


Далее в примере кода

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

/* maximum number of DS1820/DS18S20 connected to the bus */
#define MAX_DEVICES 8


/* DS1820/DS18S20 devices ROM code storage area,
   9 bytes are used for each device
   (see the w1_search function description),
   but only the first 8 bytes contain the ROM code
   and CRC */
unsigned char rom_codes[MAX_DEVICES][9];


/* detect how many DS1820/DS18S20 devices
   are connected to the bus and
   store their ROM codes in the rom_codes array */
devices=w1_search(0xf0,rom_codes);

for (i=0;i<devices;)
          {
          temp=ds1820_temperature_10(&rom_codes[i][0]);
          printf("t%-u=%-i.%-u\xf8C\n\r",++i,temp/10,
          abs(temp%10));         
          };



Вот и ответ на ваш вопрос...
Аватара пользователя
hotstay
Родился
Сообщения: 2
Зарегистрирован: Чт июл 01, 2010 13:04:16
Откуда: Ростов-на-Дону

Re: CodeVision AVR в вопросах и ответах

Сообщение hotstay »

Saadov писал(а):Вот и ответ на ваш вопрос...

Доброе время суток.
Я можетбыть не правильно объяснил...
У меня есть к примеру два датчика DS18*, у одного заводской номер (ROM) 22222 у друго го 33333, как мне после инициализации считать температуру с датчика 22222. а не из массива "rom_codes" ... переменная "i" :dont_know:
Для Proteus это к примеру C8C531 и C8C530.
Аватара пользователя
ssvd
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Ср ноя 04, 2009 18:00:56
Откуда: Алтайский край
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение ssvd »

Помогите! Где я парю!
есть прога управления нагревателем, пытаюсь выводить на 3х символьный индикатор, а он вообще молчит!
Индикатор BT-M402RD.
Может я порт не правильно выставил, но вроде как все верно!
к PORTA подключены общие, а PORTB сегменты.

вот код
Вложения
termostat_yii.zip
код
(1.35 КБ) 243 скачивания
http://abro-nsk.ru
Saadov
Нашел транзистор. Понюхал.
Сообщения: 155
Зарегистрирован: Вт авг 19, 2008 23:39:59
Откуда: г.Смоленск

Re: CodeVision AVR в вопросах и ответах

Сообщение Saadov »

hotstay писал(а):
Saadov писал(а):Вот и ответ на ваш вопрос...

Доброе время суток.
Я можетбыть не правильно объяснил...
У меня есть к примеру два датчика DS18*, у одного заводской номер (ROM) 22222 у друго го 33333, как мне после инициализации считать температуру с датчика 22222. а не из массива "rom_codes" ... переменная "i" :dont_know:
Для Proteus это к примеру C8C531 и C8C530.

В моем сообщение есть ответ на ваш вопрос. Сначала считываем ROM, заносим его в массив, а потом передаем нужный по адресу. Если вы знаете код, присвойте переменной свой код и дайте ей порядковый номер. И функции будете передавать код в виде

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

temp[порядковый номер]=ds1820_temperature_10(&rom_codes[порядковый номер][код датчика]);


Считали коды устройств на шине, сравнили с нужным вам кодом и передали функции для считывания показаний температуры...
Аватара пользователя
ValBag
Потрогал лапой паяльник
Сообщения: 326
Зарегистрирован: Сб сен 06, 2008 12:56:13

Re: CodeVision AVR в вопросах и ответах

Сообщение ValBag »

ssvd писал(а):к PORTA подключены общие
А что, вы выставили фьюз на использование РА2 как вывод порта и используете внутренний генератор?
Аватара пользователя
ssvd
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Ср ноя 04, 2009 18:00:56
Откуда: Алтайский край
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение ssvd »

ValBag писал(а):
ssvd писал(а):к PORTA подключены общие
А что, вы выставили фьюз на использование РА2 как вывод порта и используете внутренний генератор?


ага, я использую внутренний генератор...
http://abro-nsk.ru
Аватара пользователя
ValBag
Потрогал лапой паяльник
Сообщения: 326
Зарегистрирован: Сб сен 06, 2008 12:56:13

Re: CodeVision AVR в вопросах и ответах

Сообщение ValBag »

ssvd писал(а):ага, я использую внутренний генератор...
Это разряды РА0, РА1. А как быть с РА2 - по умолчанию RESET. Его тоже "переделали"?
Аватара пользователя
ssvd
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Ср ноя 04, 2009 18:00:56
Откуда: Алтайский край
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение ssvd »

ValBag писал(а):
ssvd писал(а):ага, я использую внутренний генератор...
Это разряды РА0, РА1. А как быть с РА2 - по умолчанию RESET. Его тоже "переделали"?


вот тут то я и лохонулся... ))))))
спасибо!!! завтра на другой порт переделаю!
http://abro-nsk.ru
Аватара пользователя
ssvd
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Ср ноя 04, 2009 18:00:56
Откуда: Алтайский край
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение ssvd »

все, индикатор заработал!
теперь следующая и основная, в память микрухи не входит весь код! мне надо запихать туда два условия! подскажите как можно оптимизировать код, что бы они вошли...
В прикрепленном файле комментированные две строчки, вот они и не помещаются..
посмотрите пожалуйста!
Вложения
termostat_yii.zip
(1.27 КБ) 240 скачиваний
http://abro-nsk.ru
Аватара пользователя
ValBag
Потрогал лапой паяльник
Сообщения: 326
Зарегистрирован: Сб сен 06, 2008 12:56:13

Re: CodeVision AVR в вопросах и ответах

Сообщение ValBag »

ssvd, ваш исходник после компиляции 1954 байт.
Аватара пользователя
ssvd
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Ср ноя 04, 2009 18:00:56
Откуда: Алтайский край
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение ssvd »

ValBag писал(а):ssvd, ваш исходник после компиляции 1954 байт.


с раскомментированными строчками? странно! хотя я уже немного оптимизировал, теперь осталось вместить одну строчку! )))
вот файлик. сейчас все раскомментирую!
Вложения
termostat_yii.zip
(1.25 КБ) 250 скачиваний
http://abro-nsk.ru
Аватара пользователя
ssvd
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Ср ноя 04, 2009 18:00:56
Откуда: Алтайский край
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение ssvd »

ssvd писал(а):
ValBag писал(а):ssvd, ваш исходник после компиляции 1954 байт.


с раскомментированными строчками? странно! хотя я уже немного оптимизировал, теперь осталось вместить одну строчку! )))
вот файлик. сейчас все раскомментирую!


все, оптимизировал, спасибо! ))))
http://abro-nsk.ru
Аватара пользователя
ValBag
Потрогал лапой паяльник
Сообщения: 326
Зарегистрирован: Сб сен 06, 2008 12:56:13

Re: CodeVision AVR в вопросах и ответах

Сообщение ValBag »

ssvd писал(а):все, оптимизировал, спасибо!
Ну и ладушки. К сведению: в тексте проги есть индексы более, чем определены в массиве.
char bCharacter[11];
Аватара пользователя
ssvd
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Ср ноя 04, 2009 18:00:56
Откуда: Алтайский край
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение ssvd »

ValBag писал(а):
ssvd писал(а):все, оптимизировал, спасибо!
Ну и ладушки. К сведению: в тексте проги есть индексы более, чем определены в массиве.
char bCharacter[11];


ага, уже поправил! )))
http://abro-nsk.ru
Ответить

Вернуться в «AVR»