Муфты электромонтажные от производителя Fucon

Проблема в 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 просмотров)
Оценка
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей.
Новичок
 
Регистрация: 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, время: 01:58.
Обратная связь РадиоЛоцман Вверх