Миграция проектов на ПЛИС новых производителей

Простейший термометр на Atmega8 и DS18B20 в AVR Studio 5. Запуск в эмуляторе Proteus

Новичок
 
Регистрация: 02.03.2009
Сообщений: 5
Репутация: 10
0 1
0 0
 
16.01.2012 23:06 #1
Пишу в AVR Studio 5 простейший термометр на Atmega8 и DS18B20.
Но при запуске в эмуляторе Proteus не срабатывает даже инициализация датчика.
Тот же самый код при компиляции CodeVisionAVR работает.

В коде присутствует только функция инициализации, в случае успешной инициализации в порту PB0 устанавливаем 1.

В чем может быть проблема с AVR Studio?

#define F_CPU 4000000UL

#include <avr/io.h>
#include <util/delay.h>

void main(void)
{
unsigned char device;

DDRC |= 1<<4;
_delay_us(500);

DDRC &= ~(1<<4);
_delay_us(60);

if ((PINC & (1<<4)) == 0x00)
device = 1;
else
device = 0;

_delay_us(420);

PORTB=0x00;
DDRB=0xFF;
if (device==1) PORTB |= (1 << 0);
}
Оценка
В многообразии литиевых батареек и аккумуляторов нет какого-то универсального или идеального варианта. Выбирая тот или иной вариант для питания устройства, разработчику приходится оперировать множеством параметров, используя наиболее оптимальное их сочетание для каждого приложения. Разберем параметры для различных приложений.
Специалист
 
Аватар для Vadzz
 
Регистрация: 12.11.2008
Адрес: Тирасполь
Сообщений: 2,172
Записей в дневнике: 22
Репутация: 418
406 86
0 0
Отправить сообщение для Vadzz с помощью ICQ
 
16.01.2012 23:38 #2
Могу предположить что в AVR Studio включен один из видов оптимизации. 5 версии у меня нет, поэтому точно не могу сказать.
В 4 версии студии не пробовали компилировать код и симулировать?
А если подключить в Proteus виртуальный осциллограф на шину 1-Wire, там наблюдается последовательность инициализации?

Добавлено:
Решил проверить: по этому коду, компилировал в 4.16 версии студии, в Proteus инициализация проходит (при наличии датчика, естественно).
__________________
Уважаемые пассажиры, самолет ТУ-134 садится. У кого есть зарядка от ТУ-134, просьба пройти в кабину пилота.
Последний раз редактировалось Vadzz; 17.01.2012 в 00:00.
Оценка
Компания HONGFA - это не только крупнейший в мире производитель электромеханических реле, но также производитель конденсаторов, вакуумных прерывателей, трансформаторов и низковольтного коммутационного оборудования. На складе КОМПЭЛ регулярно поддерживаются около 100 самых популярных позиций электромеханических реле. Реле Hongfa могут заместить многие изделия производства недоступных брендов.
Новичок
 
Регистрация: 02.03.2009
Сообщений: 5
Репутация: 10
0 1
0 0
 
17.01.2012 01:39 #3
Спасибо за совет подключить осциллограф.

С его помощью удалось установить что паузы между сменой состояний не соответствуют тем которые указываются в программе.
Путем коррекции и уменьшении пауз практически в 10 раз удалось добиться инициализации датчика.

Но вопрос остается как все-таки корректно компилировать проект в AVR Studio 5, чтобы паузы соответствовали указанным в программе?

Проверил оптимизацию - по умолчанию она отключена.
Также проверил залить прошивку с первоначальными паузами в atmega - датчик также не проходит инициализацию.

P.S. При компиляции в CodeVision на осциллографе видно что паузы корректные.
Оценка
Новичок
 
Регистрация: 02.03.2009
Сообщений: 5
Репутация: 10
0 1
0 0
 
17.01.2012 02:31 #4
В четвертой версии AVR Studio действительно все компилится и работает без проблем.
Загвоздка все таки в пятой версии, но вот в чем конкретно???
Оценка
Специалист
 
Аватар для Vadzz
 
Регистрация: 12.11.2008
Адрес: Тирасполь
Сообщений: 2,172
Записей в дневнике: 22
Репутация: 418
406 86
0 0
Отправить сообщение для Vadzz с помощью ICQ
 
17.01.2012 10:25 #5
Я как-то собирался ставить 5 версию студии, но по отзывам понял, что не стоит, ибо очень тяжелая она и в понимании и в работе.
__________________
Уважаемые пассажиры, самолет ТУ-134 садится. У кого есть зарядка от ТУ-134, просьба пройти в кабину пилота.
Оценка
Новичок
 
Регистрация: 02.03.2009
Сообщений: 5
Репутация: 10
0 1
0 0
 
18.01.2012 01:39 #6
А в какую его?
Оценка
Специалист
 
Аватар для Vadzz
 
Регистрация: 12.11.2008
Адрес: Тирасполь
Сообщений: 2,172
Записей в дневнике: 22
Репутация: 418
406 86
0 0
Отправить сообщение для Vadzz с помощью ICQ
 
18.01.2012 10:18 #7
Цитата:
Сообщение от pulse7
А в какую его?
Это было адресовано не Вам, пост уже был удален, все нормально.

Что с 5 студией, разобрались, почему тайминги не соотвтетствуют? В студии ведь есть свой симулятор работы микроконтроллера, посмотрите что происходит там.
__________________
Уважаемые пассажиры, самолет ТУ-134 садится. У кого есть зарядка от ТУ-134, просьба пройти в кабину пилота.
Оценка
Ответ
Метки
atmega, avr studio, ds18b20
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход
Электронные компоненты. Бесплатная доставка по России
Часовой пояс GMT +3, время: 22:56.
Обратная связь РадиоЛоцман Вверх