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

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

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

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

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

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

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

 
Опции темы
Непрочитано 21.03.2012, 13:15  
spamkerdyk
Почётный гражданин KAZUS.RU
 
Аватар для spamkerdyk
 
Регистрация: 27.01.2008
Адрес: Москва Щукино
Сообщений: 1,490
Сказал спасибо: 359
Сказали Спасибо 863 раз(а) в 362 сообщении(ях)
spamkerdyk на пути к лучшему
По умолчанию Re: Зависание по прерыванию

Сообщение от nonamedov Посмотреть сообщение
Такая программа через определенное число прерываний обязательно вызовет переполнение стека.
И как бы ей это удалось?
Это старый хакерский прием времен Спектрума, когда надо было либо ввести программу в режим автозапуска, либо для защищенной программы запустить отладчик. Чуть-чуть подправлялся загрузчик так, чтобы загружаемый дамп лег на область стека, а в соответствующие ячейки прописывался адрес старта.
Дело в том, что в стек я внес адрес возврата 0000H, по которому расположена команда JMP start. А на метке start находится команда MOV SP, 07H - и, обломайся стек, тебе нужно опять начинать с начального адреса. Что бы не было в стеке до этого, теперь этой командой уничтожено.
Ну да я же такую "продукцию" выдавать не собираюсь. Это я просто попробовал для себя.
Сообщение от nonamedov Посмотреть сообщение
я бы на Вашем месте использовал бы отладчик, понимая, что банально, но зато 100% гарантия успеха.
Так а я-то что так рвусь Протеус запустить? Именно потому что сразу бы все вопросы отпали, просто сам увидел бы, что происходит.
Вчера один вопрос с Протеусом решился: отсутствие окна с программой, в котором видно пошаговое исполнение оказалось просто глюком, пока проект составлял. После сохранения проекта, когда я перезапустил Протеус и открыл проект, теперь окно появляется само после выбора в меню "Запуск/Перезапуск отладки".
Теперь второй вопрос: а как бы еще увидеть содержимое регистров во время выполнения программы? Если кто знает, где искать, подскажите пожалуйста.

Сообщение от omercury Посмотреть сообщение
spamkerdyk, что это за устройство вообще?
У меня сейчас на крыше (на работе) куча принципиально разных ветряков, и СБ, на которых проводятся эксперименты по поиску оптимальных вариантов сочетаний ветросолнечных установок. Естественно наука хочет иметь данные по соотношению скоростей ветра и скоростей вращения ветряков. Если скорость ветра меряется анемометром, то для ветряков такой опции не предусмотрено. Ну, значит вопрос ко мне.
Но надо не просто померять. Так бы любой частотомер включил и порядок, благо этих дивайсов у нас во всех лабораториях хватает. Надо еще все данные передать на компьютер в базу данных. А для этого там стоит целая установка по сбору данных: напряжения, токи, температура и т. д. Вот теперь еще и обороты добавились. А обороты в цифре они могут взять только в SPI.
Первоначальная программа считала одним процессором обороты сразу с четырех источников: 4 нормализатора - компаратора 0.5 - 130 вольт синусоиды в уровень ТТЛ, их выходы на четыре входа порта процессора, а в программе общий цикл времени и четыре последовательных проверки состояния входов с занесением результата в память. И я наивно полагал, что данные будут забирать по какому-нибудь RS232 - 485. Уже после того, как счет был отлажен, мне объяснили, что данные будут затребоваться по прерываниям в стандарте SPI. Причем их аппарат хотя и инициирует обмен, сам работает только на прием и не может мне передать, по какому именно ветряку требуются данные. Оо-пс! Пришлось растащить программу на четыре процессора, так и родился "монстр", считающий обороты программой, а не аппаратным счетчиком. И решать проблемы с прерываниями.

Сообщение от omercury Посмотреть сообщение
Это Slave, а кто Master?
Я думаю, из предыдущего ясно.
Реклама:

Последний раз редактировалось spamkerdyk; 21.03.2012 в 13:35.
spamkerdyk вне форума  
Непрочитано 21.03.2012, 13:56  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Зависание по прерыванию

Сообщение от spamkerdyk Посмотреть сообщение
где искать
В меню Debug внизу всё, что можно увидеть.

Сигнал на компаратор идёт с обмотки?
omercury вне форума  
Непрочитано 21.03.2012, 14:36  
spamkerdyk
Почётный гражданин KAZUS.RU
 
Аватар для spamkerdyk
 
Регистрация: 27.01.2008
Адрес: Москва Щукино
Сообщений: 1,490
Сказал спасибо: 359
Сказали Спасибо 863 раз(а) в 362 сообщении(ях)
spamkerdyk на пути к лучшему
По умолчанию Re: Зависание по прерыванию

Сообщение от omercury Посмотреть сообщение
В меню Debug внизу всё, что можно увидеть.
Нашел!!!
Ну теперь держись, программа, я с тобой разберусь

Сообщение от omercury Посмотреть сообщение
Сигнал на компаратор идёт с обмотки?
Ну, да. Через резистор по 10 к 5 вт на каждом входе, и на каждом входе компаратора два встречно параллельных диода на землю.

Последний раз редактировалось spamkerdyk; 21.03.2012 в 14:43.
spamkerdyk вне форума  
Непрочитано 21.03.2012, 15:17  
spamkerdyk
Почётный гражданин KAZUS.RU
 
Аватар для spamkerdyk
 
Регистрация: 27.01.2008
Адрес: Москва Щукино
Сообщений: 1,490
Сказал спасибо: 359
Сказали Спасибо 863 раз(а) в 362 сообщении(ях)
spamkerdyk на пути к лучшему
По умолчанию Re: Зависание по прерыванию

Что за глюки опять?
Миниатюры:
Нажмите на изображение для увеличения
Название: paradox.jpg
Просмотров: 50
Размер:	316.0 Кб
ID:	32941  

Последний раз редактировалось spamkerdyk; 21.03.2012 в 15:20.
spamkerdyk вне форума  
Непрочитано 21.03.2012, 15:36  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Зависание по прерыванию

Вместо вольтметров светодиоды поставьте
Ну не "0"... Работает ведь?
Или нет?
MCStudio, кстати, достаточно удобна для 51-ых. Глюкавенькая, но...

Резонатор можно было не рисовать - в свойствах указать тактовую.
omercury вне форума  
Непрочитано 21.03.2012, 17:41  
spamkerdyk
Почётный гражданин KAZUS.RU
 
Аватар для spamkerdyk
 
Регистрация: 27.01.2008
Адрес: Москва Щукино
Сообщений: 1,490
Сказал спасибо: 359
Сказали Спасибо 863 раз(а) в 362 сообщении(ях)
spamkerdyk на пути к лучшему
По умолчанию Re: Зависание по прерыванию

Светодиоды, это первое, что я поставил. Так это просто символы, как и другие детали, они не горят.
Сообщение от omercury Посмотреть сообщение
Ну не "0"... Работает ведь?
Работает... Вроде бы. Вольтметры показывают, что пересчет идет, да и по цвету квадратиков на выводах видно.
А вот замыкаю на землю вход прерывания и ничего не происходит. На ножке как был красный квадратик, так и остается. И программа на это действие не реагирует. А должна между прочим. Раз ножку заземлил на ней же должен ноль образоваться. Глюк?
Можно конечно генератор подключить, чтобы одиночный импульс дал. Но реальная схема SPI выдает на прерывание ноль на все время чтения.
Сообщение от omercury Посмотреть сообщение
MCStudio, кстати, достаточно удобна для 51-ых.
Ну, я уже менять не буду, буду прдолжать Протеус.


Сообщение от omercury Посмотреть сообщение
Резонатор можно было не рисовать - в свойствах указать тактовую.
Да, это я уже потом понял. Похоже, с ресетом аналогичная картина.
spamkerdyk вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AVRStudio вопрос по прерыванию USART Pavlike Микроконтроллеры, АЦП, память и т.д 4 02.06.2011 15:29
Зависание TWI в atmega48 winso Микроконтроллеры, АЦП, память и т.д 14 09.12.2010 14:59
Зависание компьютера al-s Ремонт оргтехники 92 15.10.2010 18:28
Зависание МК при включении нагрузки Zemlyanov Микроконтроллеры, АЦП, память и т.д 22 26.06.2007 09:32
Зависание и глюки chipic128 Микроконтроллеры, АЦП, память и т.д 16 24.03.2005 10:52


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


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