Shenler: реле, интерфейсные модули

Проблема в 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 просмотров)
Оценка
Компания Ruimeng выпустила 24-битный Σ-Δ аналого-цифровой преобразователь MS5148T, который является достойной заменой популярному АЦП Axx1248. Модель сочетает в себе сопоставимые характеристики с полной совместимостью по корпусу и функциям, но имеет в качестве преимущества более низкое энергопотребление. Незначительные отличия в точности источников тока и уровне шумов компенсируются выгодной стоимостью и широкой доступностью на российском рынке.
Новичок
 
Регистрация: 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
Оценка
Китайские электролитические конденсаторы уверенно занимают лидирующие позиции на российском рынке, демонстрируя высокую надежность и конкурентоспособность в стоимости. Компания КОМПЭЛ является одним из крупнейших поставщиков пассивных компонентов, в том числе электролитических конденсаторов, и предлагает широкий ассортимент этой продукции, включая более 1500 уникальных моделей на складе от таких ведущих производителей, как JB Capacitors, Suscon, AiSHi и другие.
Новичок
 
Аватар для 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:34.
Обратная связь РадиоЛоцман Вверх