На склад поступили жидко-кристаллические индикаторы и дисплеи от KSE

Проблема в 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 просмотров)
Оценка
В многообразии литиевых батареек и аккумуляторов нет какого-то универсального или идеального варианта. Выбирая тот или иной вариант для питания устройства, разработчику приходится оперировать множеством параметров, используя наиболее оптимальное их сочетание для каждого приложения. Разберем параметры для различных приложений.
Новичок
 
Регистрация: 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, время: 17:44.
Обратная связь РадиоЛоцман Вверх