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

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

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

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

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

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

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

 
Опции темы
Непрочитано 27.11.2007, 13:14  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Сообщение от tempora
Да ты читай, читай... Не спорь.
Я в чем то не прав?
Тогда скажи в чем?
Реклама:
dimonbest вне форума  
Непрочитано 27.11.2007, 13:56  
delamoure
Прописка
 
Аватар для delamoure
 
Регистрация: 22.09.2006
Адрес: Днепропетровск
Сообщений: 114
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
delamoure на пути к лучшему
По умолчанию

Сообщение от dimonbest
Сообщение от tempora
Подкрепиил?! От, оно каак!... "Ты просто не умеешь их готовить". Причем, ни одним из приведенных способов.
Почитай на досуге про Non-local Jump Functions и про прагму savereg. Кстати, как правило, рассказы про прагму savereg иллюстрируют примерами именно подмены своим кодом стандартного кода обработчика прерывания. Эту моду, похоже, ещё Борланд ввёл...
Про Non-local Jump Functions почитаю, еще не разбирался.
А по поводу второго способа:
даже если я запрещу сохранение регистров директивой savereg, то тогда программа будет работать некорректно. Если основная программа использует определенные регистры, и эти же саммые регистры будут использованы в прерывании, то после выхода из прерывания значения будут иными...
К тому же без директивы сохраняются не только регисты общего назначения, но и SREG.
Да нормально все будет работать.
В обработчике прерывания пиши на ассемблере. Сам сохраняй используемые регистры, сам восстанавливай.
Из асма к глобальным переменным получить доступ очень несложно. Приду домой, скину рабочий пример.
delamoure вне форума  
Непрочитано 27.11.2007, 14:12  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Сообщение от delamoure
Да нормально все будет работать.
В обработчике прерывания пиши на ассемблере. Сам сохраняй используемые регистры, сам восстанавливай.
Из асма к глобальным переменным получить доступ очень несложно. Приду домой, скину рабочий пример.
В том то и дело, что писать в обработчике прерывания буду не на асме а на Си.
dimonbest вне форума  
Непрочитано 27.11.2007, 15:37  
delamoure
Прописка
 
Аватар для delamoure
 
Регистрация: 22.09.2006
Адрес: Днепропетровск
Сообщений: 114
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
delamoure на пути к лучшему
По умолчанию

Сообщение от dimonbest
Сообщение от delamoure
Да нормально все будет работать.
В обработчике прерывания пиши на ассемблере. Сам сохраняй используемые регистры, сам восстанавливай.
Из асма к глобальным переменным получить доступ очень несложно. Приду домой, скину рабочий пример.
В том то и дело, что писать в обработчике прерывания буду не на асме а на Си.
А можно задачку обрисовать вкратце? Какая цель преследуется?
Просто обычно, если возникают всякие нетрадиционные танцы с бубнами, они к добру не приводят, нечего над ними думать.
Давайте найдем нормальное решение.
delamoure вне форума  
Непрочитано 27.11.2007, 15:44  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Сообщение от delamoure
А можно задачку обрисовать вкратце? Какая цель преследуется?
Просто обычно, если возникают всякие нетрадиционные танцы с бубнами, они к добру не приводят, нечего над ними думать.
Давайте найдем нормальное решение.
А началось все с безобидного вопроса
Задачи конкретной пока нет...
Когда писал на асме, с прерывания можно было выйти командами ret и reti. Тобишь с разрешенныи и запрещенными прерываниями. А в компилятор всегда выходит с разрешенными прерываниями. Вопрос и был, можно ли выйти с запрещенными прерываниями. Получается "легально" нет. А если будет конкретная задача - тогда можно будет уже думать...
dimonbest вне форума  
Непрочитано 27.11.2007, 16:03  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию

Сообщение от dimonbest
Я в чем то не прав? Тогда скажи в чем?
Легко - ты ошибаешься, предполагая, что всё понял в том, что тебе посоветовали. Тебе говорят "используй прагму savereg", ты не понимая того, как именно её нужно использовать, пытаешься представить себе какой-нибудь вариант, находишь пример, который действительно не работает, и на этом основании делаешь вывод о предложенном способе. Именно в такой последовательности мартышка построила вывод об отсутствии практической ценности у очков.
Вот я и говорю - сначала изучи вопрос, потом будет время подумать, попробовать так и сяк, а там, глядишь, и возможность делать выводы появится. Но даже и тогда - не факт, что выводы будут правильные. Посмотрим.
tempora вне форума  
Непрочитано 27.11.2007, 16:10  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Сообщение от tempora
Легко - ты ошибаешься, предполагая, что всё понял в том, что тебе посоветовали. Тебе говорят "используй прагму savereg", ты не понимая того, как именно её нужно использовать, пытаешься представить себе какой-нибудь вариант, находишь пример, который действительно не работает, и на этом основании делаешь вывод о предложенном способе. Именно в такой последовательности мартышка построила вывод об отсутствии практической ценности у очков.
Вот я и говорю - сначала изучи вопрос, потом будет время подумать, попробовать так и сяк, а там, глядишь, и возможность делать выводы появится. Но даже и тогда - не факт, что выводы будут правильные. Посмотрим.
Я не знаю как еще можно использовать директиву savereg, если знаешь то подскажи! Это форум, чтоб помогать другим, а не для того чтоб играть в Что? Где? Когда?
dimonbest вне форума  
Непрочитано 27.11.2007, 17:49  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию

Сообщение от dimonbest
Я не знаю как еще можно использовать директиву savereg, если знаешь то подскажи! Это форум, чтоб помогать другим, ...
Я уже подсказал, и ты, если б не тратил время на споры, уже давно знал бы что это такое и с чем его едят. Читать вместо тебя документацию на используемые инструменты (или даташиты на используемые мелкоконтроллеры) я не буду по двум причинам - во-первых, я уже это сделал, а во-вторых, приведение кратких выписок из документации скорее принесет вред, чем пользу - документацию на используемый компилятор нужно читать, изучать, вникать в неё - самостоятельно, а не в чьём-то кратком изложении. Кроме того (это я уже о твоей позиции), тебе полезно иметь ввиду, что у людей, помимо оказания помощи лично тебе, могут быть и другие объекты помощи, другие занятия, так что, прежде чем требовать, чтобы тебе всё разжевали и в рот положили, потрудись хотя бы пальцем пошевелить самостоятельно; скажем, нажми F1, набери "savereg", открой хелп на этом месте, прочитай (с удивлением наткнись, млин, на пример того, как можно управлять сохранением/восстановлением регистров в коде входа/выхода), попробуй сделать так, как там написано, поменяй то да сё, чтобы прочувствовать, как оно работает. Глядишь, и придёт мысль, как применить полученные знания в твоём случае...
Кстати, хорошо усваиваются и запоминаются только знания, полученные своим трудом.
tempora вне форума  
Непрочитано 27.11.2007, 23:24  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Сообщение от tempora
...так что, прежде чем требовать, чтобы тебе всё разжевали и в рот положили,...
Ну во первых я от тебя ничего не требовал.
А по теме: единственное решение, которое нашел, это в прерывании не сохранять значения регистров (директивой savereg-) а сделать это на асме. Тогда в основной программе значения регистров не будут меняться, и можно будет выйти из прерывания команой ret
dimonbest вне форума  
Непрочитано 27.11.2007, 23:39  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию

Сообщение от dimonbest
...я от тебя ничего не требовал
Разумеется, "не требовал" - в студию:
Сообщение от dimonbest
Я не знаю как еще можно использовать директиву savereg, если знаешь то подскажи! Это форум, чтоб помогать другим,
Напоминаю, это было сказано в ответ на
Сообщение от tempora
Почитай на досуге про Non-local Jump Functions и про прагму savereg.
(тут твоя попытка поспорить с темой, не читая о ней)
Да ты читай, читай... Не спорь.
tempora вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CVAVR while и таймер kr11507 Микроконтроллеры, АЦП, память и т.д 10 13.12.2008 21:29
Програмирование портов Infenon С167 vadimvarn Микроконтроллеры, АЦП, память и т.д 1 01.11.2008 02:31
Програмирование по SPI EKuzmich Микроконтроллеры, АЦП, память и т.д 2 09.07.2008 21:35
програмирование АТmega32??? TimaON Микроконтроллеры, АЦП, память и т.д 0 06.05.2008 14:41
Програмирование attiny2313 Gorgic Микроконтроллеры, АЦП, память и т.д 1 15.12.2007 00:00


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


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