Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 11.12.2008, 22:59   #1
myxan
Частый гость
 
Регистрация: 24.03.2008
Сообщений: 18
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
myxan на пути к лучшему
По умолчанию Регистры r0-r15 у mega169

Подскажите пожалуйста как работать с r0 - r15, почему при обращении к ним возникает ошибка?
Реклама:
myxan вне форума  
Непрочитано 12.12.2008, 09:22   #2
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию

Возможно это глюк среды программирования (какая?). R0...R15 - такие же регистры как 16...31, только не умеют работать с константами.
niXto вне форума  
Непрочитано 14.12.2008, 18:08   #3
myxan
Частый гость
 
Регистрация: 24.03.2008
Сообщений: 18
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
myxan на пути к лучшему
По умолчанию

Работаю в AVR Studio 4. Делаю так .def countK = r2, компилирую получаю "C:AVRNev1313.asm(116): error: Invalid register". Если так .def countK = r20 все хорошо.
И еще не могу понять одно по таймеру делаю прерывание по совпадению в обработке этого прерывания в PORTA записываю $FF или другое значение любое, т.е. зажигаю светодиоды потом здесь же таймер отключаю
OC2:
ser tmp
out PORTA, tmp
LDI TMP,0
CLR r31
ldi r30,TCCR2A
ST Z,TMP
reti
При симуляции все хорошо в порт записывается значение и не изчезает. Заливаю в ATmega 169 светодиоды горят очень тускло и чем больше время до прерывания тем тусклее. Если в сновной программе записываю то же самое горят ярко как должны. Почему?
myxan вне форума  
Непрочитано 14.12.2008, 18:35   #4
ra9mig
Прописка
 
Регистрация: 24.09.2008
Сообщений: 116
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
ra9mig на пути к лучшему
По умолчанию

Сообщение от myxan
Работаю в AVR Studio 4. Делаю так .def countK = r2, компилирую получаю "C:AVRNev1313.asm(116): error: Invalid register". Если так .def countK = r20 все хорошо.
А что у Вас делается в строчке 116? Русским же языком написано: "R0...R15 - такие же регистры как 16...31, только не умеют работать с константами"!
Цитата:
OC2:
ser tmp
out PORTA, tmp
LDI TMP,0
CLR r31
ldi r30,TCCR2A
ST Z,TMP
reti
Вас кто так учил "кодить"?
Хотя бы так:
Код:
OC2:
ser tmp
out PORTA, tmp
clr TMP
out TCCR2A, TMP
reti
Цитата:
При симуляции все хорошо в порт записывается значение и не изчезает. Заливаю в ATmega 169 светодиоды горят очень тускло и чем больше время до прерывания тем тусклее. Если в сновной программе записываю то же самое горят ярко как должны. Почему?
Как тут часто говорится: "Всевидящих здесь нету, коды в студию"!
__________________
Если мы вам не подходим, вы нам вовсе не нужны!
Услышал и забыл, увидел и запомнил, сделал и понял!
Нейрон - штука тонкая!
Чудес на свете не бывает!
ra9mig вне форума  
Непрочитано 14.12.2008, 22:26   #5
myxan
Частый гость
 
Регистрация: 24.03.2008
Сообщений: 18
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
myxan на пути к лучшему
По умолчанию

В строке 116 следующее ser k.
Код в архиве. Это просто пример если его залить в МК то получаю что сведиоды на порте А светят тускло (если перемещать плату со светодиодами видно что они мерцают) а на порте С светит постоянно и не мерцает.

Прикрепленный файл: 3945283.RAR
myxan вне форума  
Непрочитано 14.12.2008, 22:37   #6
myxan
Частый гость
 
Регистрация: 24.03.2008
Сообщений: 18
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
myxan на пути к лучшему
По умолчанию

Цитата:
Вас кто так учил "кодить"?
Хотя бы так:
Код:
OC2:
ser tmp
out PORTA, tmp
clr TMP
out TCCR2A, TMP
reti
Я самоучка! Извени но не ко всем регистра специального назначения есть прямой доступ, если я использую ваш код получу ощибку "C:AVRNev1313.asm(8: error: Invalid register" В строке 88!
Код:
out TCCR2A, TMP
Вот и преходится использовать косвенную адресацию!
myxan вне форума  
Непрочитано 14.12.2008, 22:49   #7
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию

Вообще то кодить на асме лучше в Algorithm Builder - он сам исправляет подобные ошибки, да и просто удобней и наглядней. Есть на этом сайте версия 5.17
niXto вне форума  
Непрочитано 14.12.2008, 22:55   #8
myxan
Частый гость
 
Регистрация: 24.03.2008
Сообщений: 18
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
myxan на пути к лучшему
По умолчанию

У меня есть версия 5.33 но в ней ограничения по обему кода кажется 2 Кб. В версии 5.17 нет?
myxan вне форума  
Непрочитано 14.12.2008, 23:27   #9
myxan
Частый гость
 
Регистрация: 24.03.2008
Сообщений: 18
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
myxan на пути к лучшему
По умолчанию

Да еще в Algorithm Builder 5.33 нет симулятора ATmega 169.
myxan вне форума  
Непрочитано 15.12.2008, 00:17   #10
myxan
Частый гость
 
Регистрация: 24.03.2008
Сообщений: 18
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
myxan на пути к лучшему
По умолчанию

Походу AVR Studio 4 соверщенно глюкнутая программа. Написал ту же програмку на СИ с помощью CodeVisionAVR, зашил. Все работает, как надо, так что перехожу на СИ и CodeVisionAVR (он поддерживает mega 169) симулирует с помощью того же AVR Studio это собственно не важно, отлаживаю на девайсе.
myxan вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сдвиговые регистры 74HC595B1 boyler TTL и CMOS логика 12 10.02.2012 14:18
Проблема с USART AVR mega169 Archer07 Микроконтроллеры, АЦП, память и т.д 20 28.07.2009 15:02
Помогите с Таймером(mega169) Archer07 Микроконтроллеры, АЦП, память и т.д 3 25.07.2009 16:35
PIC16F84 дублированные спец. регистры TheSvin Микроконтроллеры, АЦП, память и т.д 11 07.02.2007 22:59


Часовой пояс GMT +4, время: 14:19.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot