0 / 0 / 0
Регистрация: 10.10.2010
Сообщений: 65
1

Настройка отладчика для работы с портами ввода на STK500

13.10.2010, 20:09. Показов 6940. Ответов 10
Метки нет (Все метки)

Описание:Имеем следующий код:
Код
.include "tn2313def.yms"            ; Присоединение файла описаний
.list                  ; Включение листинга

;------------------------- Начало программного кода
.def   temp = r16            ; Определение главного рабочего регистра

.cseg                   ; Выбор сегмента программного кода
.org   0               ; Устанеовка текущего адреса на ноль

;Инициализация портов

ldi      temp,0b00000000
out      DDRD, temp   ; Записываем этот ноль в DDRD (порт PD на ввод)

ldi      temp, 0xFF   ; Записываем число $FF в регистр temp
out      DDRB, temp   ; Записываем это число в DDRB (порт PB на вывод)
out      PORTB, temp   ; Записываем то же число в PORTB (потушить светодиод)
out      PORTD, temp   ; Записываем его же в PORTD (включаем внутр. резисторы)

;Опрос кнопки и работа со светодиодом

m2:      sbi      PORTB,0   ;Тушить светодиод по отпусканию енопки
m1:      in      temp,PIND   ;Чтение порта PIND,игнорирование дребезга контактов
sbrs      temp,2      ;Проверка условия нажатия кнопки
rjmp      m2      ;Если не нажата кнопк,то переход в ожидание нажатия.
cbi      PORTB,0   ;Зажигаем светодиод,если кнопка нажата.

rjmp      m1      ;Переход в начало программы.
Описание проблемы:
Вопросов при отладке исходного кода в програмной среде AVR STUDIO не возникает.Отладчик адекватно реагирует на эмуляцию нажатия,PIND2 мышкой устанавливаю в еденицу и вижу,что загорается светодиод.Но после заливки этого кода в микроконтроллер ATTINY 2313,установленный в STK500,программа работает некорректно,из-за того что по-умолчанию на порту ввода у меня еденица,а при нажатии кнопки мы получаем ноль.Сейчас я решаю данную проблему методом замены оператора sbrs на sbrc перед непосредственной заливкой кода в микроконтроллер. Можно ли настроить AVR STUDIO так,чтобы мне не приходилось постоянно заменять оператор sbrs на sbrc?Заранее благодарен за помощь. С уважением,Никита.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2010, 20:09
Ответы с готовыми решениями:

Компонент для работы с COM-портами
Где можно достать ХОРОШИЙ НЕГЛЮЧНИЙ компонент для работы с ними? помогите...

Где посмотреть примеры классов для работы с портами?
Люди, может кто знает где посмотреть примеры классов для работы с портами LPT, COM, USB

Работа с несколькими COM портами: переписать код для работы с одним
в общем необходима программа для опроса нескольких компортов. есть код, но он работает для...

классы для работы с базами данных, для обработки ввода пользователей и для работы с пользовательским интерфейсом.
Вопрос к профи ASP.NET. В данный момент мной разрабатываються классы: для работы с базами данных,...

10
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 727
13.10.2010, 20:20 2
На сколько я знаю, СТК500 это программатор, о каком отладчике идет речь?
0
0 / 0 / 0
Регистрация: 10.10.2010
Сообщений: 65
13.10.2010, 20:23 3
Цитата Сообщение от xroymom
На сколько я знаю, СТК500 это программатор, о каком отладчике идет речь?
при отладке исходного кода в програмной среде AVR STUDIO не возникает
0
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 727
13.10.2010, 20:25 4
А где тогда видно, что зажигается светодиод, при отладке в студии?
0
0 / 0 / 0
Регистрация: 10.10.2010
Сообщений: 65
13.10.2010, 20:40 5
Цитата Сообщение от xroymom
А где тогда видно, что зажигается светодиод, при отладке в студии?
Сейчас нашел решение, но кривоватое. После прохода кода инициализации портов мышкой выставляю все в единицы (зеленая стрелка) и потом гашу имитируя нажатие кноки нужный пин. Есть возможность настроить студю так чтобы она делала это автоматом ? А виртуальное зажигание светодиода я наблюдаю там куда указывает красная стрелка.

0
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 727
13.10.2010, 22:17 6
а ты это... пиши в PIND :)

Код
out      PIND, temp   ; записываем в PIND, заодно изменяется содержимое PORTD
;out      PORTD, temp   ; если хочеца, можно заодно записать в PORTD, но теоретически это не обязательно
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
13.10.2010, 22:59 7
Цитата Сообщение от xroymom
а ты это... пиши в PIND :)

Код:
out PIND, temp ; записываем в PIND, заодно изменяется содержимое PORTD
;out PORTD, temp ; если хочеца, можно заодно записать в PORTD, но теоретически это не обязательно

Могу ошибаться, но при записи значения в PIN данные на линиях PORT появяться ЧЕРЕЗ 1 ТАКТ после записи. Т.е. для заталкивания чего-нибудь надо писать
Код
out PIND, temp
nop
;И только сейчас данные попадут на выводы PORTD
Это когда в студии отлаживал первые программы с целью понять что да как, щелкал по началу заметил такую закономерность.
0
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 727
13.10.2010, 23:06 8
Цитата Сообщение от BykTiho
Могу ошибаться, но при записи значения в PIN данные на линиях PORT появяться ЧЕРЕЗ 1 ТАКТ после записи. Т.е. для заталкивания чего-нибудь надо писать
Я думаю для начальной инициализации сей печальный факт рояли не сыграет. А потом уже, после инициализации, писать в ПОРТ. Я же так понял, проблема в том, что кнопка как бы, при старте отладки, получается нажатой и это сильно мешает.
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
14.10.2010, 06:52 9
Цитата Сообщение от xroymom
Цитата Сообщение от BykTiho
Могу ошибаться, но при записи значения в PIN данные на линиях PORT появяться ЧЕРЕЗ 1 ТАКТ после записи. Т.е. для заталкивания чего-нибудь надо писать
Я думаю для начальной инициализации сей печальный факт рояли не сыграет. А потом уже, после инициализации, писать в ПОРТ. Я же так понял, проблема в том, что кнопка как бы, при старте отладки, получается нажатой и это сильно мешает.
Это может сыграть потом. Когда будут материть того горе программиста, который написал такой код.
0
0 / 0 / 0
Регистрация: 10.10.2010
Сообщений: 65
18.10.2010, 20:25 10
Это когда в студии отлаживал первые программы с целью понять что да как, щелкал по началу заметил такую закономерность.
А сейчас где предпочитаешь отлаживать?
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
18.10.2010, 21:11 11
Сейчас в железе отлаживаю. Пишу в обычном текстовом редакторе, компилю и зашиваю с помощью дудки.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2010, 21:11

Настройка отладчика qt
Установил qt 2.5.2. Установил MinGw. Инструменты/параметры/инструментарии В MinGW следующий...

Настройка отладчика в CodeBlocks
Здравствуйте, очень хотелось бы получить совет по следующей проблеме, а именно: когда я запускаю...

Настройка отладчика gdb в QtCreator
Подскажите, где можно скачать уже собранный отладчик gdb для Qt Creator, ОС: Windows Xp x86?

Работа с портами ввода вывода
Всем привет! Такой вопрос, неужели под виндой при наличии стандартных драйверов нет возможности...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru