Новичок
Регистрация: 02.03.2009
Сообщений: 5
Репутация: 10
|
Пишу в 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); } |
||
Оценка
|
Специалист
|
Могу предположить что в AVR Studio включен один из видов оптимизации. 5 версии у меня нет, поэтому точно не могу сказать.
В 4 версии студии не пробовали компилировать код и симулировать? А если подключить в Proteus виртуальный осциллограф на шину 1-Wire, там наблюдается последовательность инициализации? Добавлено: Решил проверить: по этому коду, компилировал в 4.16 версии студии, в Proteus инициализация проходит (при наличии датчика, естественно).
__________________
Уважаемые пассажиры, самолет ТУ-134 садится. У кого есть зарядка от ТУ-134, просьба пройти в кабину пилота.
Последний раз редактировалось Vadzz; 17.01.2012 в 00:00.
|
||
Оценка
|
Новичок
Регистрация: 02.03.2009
Сообщений: 5
Репутация: 10
|
Спасибо за совет подключить осциллограф.
С его помощью удалось установить что паузы между сменой состояний не соответствуют тем которые указываются в программе. Путем коррекции и уменьшении пауз практически в 10 раз удалось добиться инициализации датчика. Но вопрос остается как все-таки корректно компилировать проект в AVR Studio 5, чтобы паузы соответствовали указанным в программе? Проверил оптимизацию - по умолчанию она отключена. Также проверил залить прошивку с первоначальными паузами в atmega - датчик также не проходит инициализацию. P.S. При компиляции в CodeVision на осциллографе видно что паузы корректные. |
||
Оценка
|
Специалист
|
Я как-то собирался ставить 5 версию студии, но по отзывам понял, что не стоит, ибо очень тяжелая она и в понимании и в работе.
__________________
Уважаемые пассажиры, самолет ТУ-134 садится. У кого есть зарядка от ТУ-134, просьба пройти в кабину пилота. |
||
Оценка
|
Специалист
|
Это было адресовано не Вам, пост уже был удален, все нормально.
Что с 5 студией, разобрались, почему тайминги не соотвтетствуют? В студии ведь есть свой симулятор работы микроконтроллера, посмотрите что происходит там.
__________________
Уважаемые пассажиры, самолет ТУ-134 садится. У кого есть зарядка от ТУ-134, просьба пройти в кабину пилота. |
||
Оценка
|
Обратная связь РадиоЛоцман Вверх |