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

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

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

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

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

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

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 19.03.2017, 22:09  
usr10000
Временная регистрация
 
Регистрация: 12.11.2008
Адрес: LT
Сообщений: 69
Сказал спасибо: 12
Сказали Спасибо 33 раз(а) в 23 сообщении(ях)
usr10000 на пути к лучшему
По умолчанию Re: Atmega16a Вектора прерываний

Сообщение от H4LF Посмотреть сообщение
Для АТмеги16 же надо выключить эту опцию (Wrap Relative Jumps)
Вот на это точно нужно обратить внимание. Даже и не подозревал о её существовании. При включенной опции при компиляции кода для атмеги16 должен выдаваться варнинг.
Реклама:
usr10000 вне форума  
Непрочитано 19.03.2017, 22:23  
wlad773
Прописка
 
Аватар для wlad773
 
Регистрация: 06.05.2008
Адрес: Пятигорск
Сообщений: 222
Сказал спасибо: 11
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
wlad773 на пути к лучшему
По умолчанию Re: Atmega16a Вектора прерываний

Проблема не в том какую команду применять rjmp или jmp, а в том ,что поменялись адреса векторов. Как будто я пишу для какова то другого МК.
Цитата:
включить опцию "Wrap Relative Jumps"
тоже не помогло.
Рассматривая листинги пришел к неожиданному выводу Студия все делает правильно и программатор пишет правильно, а процессор РАБОТАЕТ. но не правильно. В данном случае вектор переполнения ТМР2 указан не на своем месте, но в HEX файле он находится именно там где указан, но МК при этом работает. У меня появилась пугающая догадка, неужели китайцы изменили кристалл? Но разве такое может быть? И МК подписан лазером( я таким больше доверяю) ,а не краской. Или я что-то не правильно понял? Все фьюзы - по умолчанию.
Миниатюры:
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 0
Размер:	137.7 Кб
ID:	112000  
wlad773 вне форума  
Непрочитано 19.03.2017, 22:31  
georg65
Почётный гражданин KAZUS.RU
 
Регистрация: 23.10.2007
Адрес: Великие Луки
Сообщений: 2,942
Сказал спасибо: 730
Сказали Спасибо 1,855 раз(а) в 881 сообщении(ях)
georg65 на пути к лучшему
По умолчанию Re: Atmega16a Вектора прерываний

Сообщение от wlad773 Посмотреть сообщение
И МК подписан лазером
Случайно не ATmega168? Можете не отвечать.
georg65 вне форума  
Сказали "Спасибо" georg65
wlad773 (20.03.2017)
Непрочитано 20.03.2017, 00:33  
usr10000
Временная регистрация
 
Регистрация: 12.11.2008
Адрес: LT
Сообщений: 69
Сказал спасибо: 12
Сказали Спасибо 33 раз(а) в 23 сообщении(ях)
usr10000 на пути к лучшему
По умолчанию Re: Atmega16a Вектора прерываний

А программатор Chip ID читать умеет? Может и правда перемаркирован.
Даже правильнее назвать - сигнатура. Для 16А должна быть: 1E9403.

Последний раз редактировалось usr10000; 20.03.2017 в 00:41.
usr10000 вне форума  
Сказали "Спасибо" usr10000
wlad773 (20.03.2017)
Непрочитано 20.03.2017, 06:50  
Bill
Гражданин KAZUS.RU
 
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
Bill на пути к лучшему
По умолчанию Re: Atmega16a Вектора прерываний

Сообщение от wlad773 Посмотреть сообщение
Рассматривая листинги пришел к неожиданному выводу Студия все делает правильно и программатор пишет правильно, а процессор РАБОТАЕТ. но не правильно. В данном случае вектор переполнения ТМР2 указан не на своем месте, но в HEX файле он находится именно там где указан, но МК при этом работает. У меня появилась пугающая догадка, неужели китайцы изменили кристалл? Но разве такое может быть? И МК подписан лазером( я таким больше доверяю) ,а не краской. Или я что-то не правильно понял? Все фьюзы - по умолчанию.
Господиии!!!!
Вам же уже не один раз объясняли: у одних контроллеров вектор прерывания занимает два слова, у других - одно! Пишите программы соответствующим образом и не будет проблем. Скажем, для MEGA16 можно написать так:
Код:
.def   RESETvector    = 0
.def   INT0vector     = 2
.def   INT1vector     = 4
.def   TIM2_CMPvector = 6
........
.def   XYZvector      = NN

.CSEG
.org     RESETvector
     rjmp   Begin

.org     INT0vector
     reti

.org      INT1vector
     rjmp    INT1_handler    
.....
.org     XYZvector
     reti
Какие инструкции переходов (jmp/rjmp) использовать для векторов прерываний, зависит от размера программы.
PS: Описание таблицы векторов уже имеются в заголовочном файле для каждого конкретного типа МК. Или опять непонятно?
Bill вне форума  
Непрочитано 20.03.2017, 09:02  
wlad773
Прописка
 
Аватар для wlad773
 
Регистрация: 06.05.2008
Адрес: Пятигорск
Сообщений: 222
Сказал спасибо: 11
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
wlad773 на пути к лучшему
По умолчанию Re: Atmega16a Вектора прерываний

Сообщение от georg65 Посмотреть сообщение
Случайно не ATmega168? Можете не отвечать.
Нет. ATmega16A AU.
Для 16А должна быть: 1E9403.
Никогда не обращал внимания на сигнатуры и даже не догадался бы их сравнивать. Для моей 16А = 1Е9502 Что соответствует атмега32. При изменении чипа программаторе, все шьется а работает будто ат16а. Надо посмотреть pdf какие отличия.
wlad773 вне форума  
Непрочитано 20.03.2017, 09:22  
wlad773
Прописка
 
Аватар для wlad773
 
Регистрация: 06.05.2008
Адрес: Пятигорск
Сообщений: 222
Сказал спасибо: 11
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
wlad773 на пути к лучшему
По умолчанию Re: Atmega16a Вектора прерываний

usr10000, Ай да светлая голова. Да пусть, с тобой, всегда прибудет сила. Да был бы рядом обнял бы тебя крепко (чисто по мужски конечно). А я уж думал рассудок у меня помутился, И народ, смотрю, посмеиваться начал. Вот такие заподлянки иной раз наши соседи, китайцы, готовят. Но удивительно, что заказывал 1-2 десятка, и несколько штук уже использовал и такого гемора не было. Неохота перепаивать чип, Оставлю как есть, но надо будет запомнить и сделать пометку.
wlad773 вне форума  
Непрочитано 20.03.2017, 09:29  
wlad773
Прописка
 
Аватар для wlad773
 
Регистрация: 06.05.2008
Адрес: Пятигорск
Сообщений: 222
Сказал спасибо: 11
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
wlad773 на пути к лучшему
По умолчанию Re: Atmega16a Вектора прерываний

georg65, Вам тоже поставил "спасибо". Дважды пытались намекнуть, но нет у меня привычки проверять сигнатуры. Привык верить надписям. И если вижу , что на сарае написано х.й, каждый раз проверяю.
wlad773 вне форума  
Непрочитано 20.03.2017, 09:55  
georg65
Почётный гражданин KAZUS.RU
 
Регистрация: 23.10.2007
Адрес: Великие Луки
Сообщений: 2,942
Сказал спасибо: 730
Сказали Спасибо 1,855 раз(а) в 881 сообщении(ях)
georg65 на пути к лучшему
По умолчанию Re: Atmega16a Вектора прерываний

wlad773, удачи, я тоже, пока размышлял, чему-то научился
georg65 вне форума  
Непрочитано 20.03.2017, 19:28  
H4LF
Вид на жительство
 
Аватар для H4LF
 
Регистрация: 10.06.2007
Сообщений: 429
Сказал спасибо: 34
Сказали Спасибо 51 раз(а) в 47 сообщении(ях)
H4LF на пути к лучшему
По умолчанию Re: Atmega16a Вектора прерываний

Осталось выяснить что за программатор использовался и какая программа для прошивки. Вообще-то это должно быть обязанностью прошивающей программы проверять сигнатуру наличного кристалла на соответствие указанному.
Например студия 6.2 с программатором STK500 (перешитый из USBASP) не даёт прошить ATmega328P при указанной в программе ATmega168P. Даже не стирает, выкидывает ошибку в которой показывает прочитанную сигнатуру и какая должна быть.
H4LF вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ускорить компьютер 7Fantomas7 Ремонт оргтехники 111 08.08.2018 05:27
Вложенность прерываний в Cortex-M makser1 ARM 12 11.03.2014 04:59
ATMega & TWI в режиме прерываний nerozero Микроконтроллеры, АЦП, память и т.д 13 07.12.2010 17:24
Обработка прерываний UART ADuC7026 korel_one Микроконтроллеры, АЦП, память и т.д 0 01.04.2010 10:44
Как очистить очередь прерываний в ATMega8535? greafuger Микроконтроллеры, АЦП, память и т.д 4 04.06.2008 23:03


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


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