Реле Tianbo - ресурс 10 млн переключений

Проблема в AVR Studio после переноса из CVAVR

Новичок
 
Регистрация: 27.06.2011
Сообщений: 8
Репутация: 10
 
24.01.2013 17:43 #1
Все привет! Написал я тут простенькую программу для лабораторного блока питания на ATmega8. Вольтметр+Амперметр, семи сегментная индикация на сдвиговых регистрах, контроль за перегревам на DS18B20. Писал на CVAVR, в общем-то всё работает, только с датчик маленькие проблемы, но вопрос не в этом.
Понадобилось мне перевести в AVR Studio, вот тут и началось. Переправил обработчики прерываний, обращения к регистрам порта, код скомпилировался, без ошибок и варненгов, конечно же не заработал
Я решил его прописывать постепенно, написал в хлам простую программу, которая через регистр HC164 должна зажигать все сегменты, она то же не заработала, раньше в студии кроме мигания диодом нечего не писал, не понимаю в чём дело. Подскажите где что не так, в моём демо проекте.
Изображения
Тип файла: png Foto.PNG (48.6 Кб, 0 просмотров)
Вложения
Тип файла: rar AVR Studio+Proteus.rar (55.7 Кб, 0 просмотров)
Оценка
Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов.
Новичок
 
Регистрация: 27.06.2012
Сообщений: 4
Репутация: 10
 
29.01.2013 18:26 #2
у меня такое смутное ощущение, что в регистре у Вас должны лежать единицы, а сейчас лежат одни нули. происходит это от того, что Вы искажаете данные на пине данных D2 в момент обращения к тактовому пину D2.

В человеческом C выражение

Код:
PORTD = 0<<PD3;         // Ставим в 0
PORTD = 1<<PD3;         // Ставим в 1
означает установить все разряды PORTD в нуль (первая строка), а потом установить третий разряд в единицу (вторая строка). естественно при этом произойдет обнуление D2.

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

мне нравятся битовые маски, которые можно накладывать например так:

Код:
PORTD &=~(1<<PD3);        // Ставим разряд D3 в 0
PORTD |=  1<<PD3;         // Ставим разряд D3 в 1
Оценка
Новичок
 
Аватар для rfv
 
Регистрация: 25.05.2014
Сообщений: 31
Репутация: 18
8 42
0 0
 
15.12.2014 02:24 #3

Проблема с AVR Studio 4

Здравствуйте.
Не по теме немножко, но я не нашла более подходящей темы. AVR Studio не компилирует исходный текст. А если брать уже откомпилированный проект, то трассировка работает. У меня вопрос к вам : это может быть из за операционной системы компа? У меня стоит 7-ка 64.
Оценка
Новичок
 
Регистрация: 27.06.2012
Сообщений: 4
Репутация: 10
 
15.12.2014 23:12 #4
Вот так с ходу могу только посоветовать проверить на русские буквы в названиях и путях файлов: для 5/6 версий студий их там быть не должно.
Оценка
Ответ
Похожие темы
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

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

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