HRP-N3 - серия источников питания с максимальной пиковой мощностью в 350% от MEAN WELL

Простейший термометр на 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.
Оценка
Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.
Новичок
 
Регистрация: 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, время: 16:01.
Обратная связь РадиоЛоцман Вверх