реклама на сайте
подробности

 
 
> Прерывания в Mega32, Много неясностей
Чип-Хрум
сообщение May 26 2007, 13:29
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 33
Регистрация: 1-04-07
Пользователь №: 26 675



Накопились вопросы по программированию прерываний на си.
1. Может ли находится основная программа в прерывании в плоть до вывода на жк экран
к примеру таймера 1 ? На сколко она может быть большой ?
2. Можно-ли прерывание осуществлять из прерывания (из таймера делать вызов ацп).
3. Может ли быть подпрограмма в прерывании, и сколько их может быть внутрь(матрешки),
Короче говоря на что расчитан стек он же не безграничен.
4. Насколько я понял прерывания эта функция с входными и выходными переменными типа void.
То бишь с переменными работать не придется?А как же тогда работать с переменными?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Чип-Хрум
сообщение Jun 9 2007, 16:13
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 33
Регистрация: 1-04-07
Пользователь №: 26 675



Ув. xemul я спрашивал конкретно а ты не ответил , я дал пример на катором наглядно
переменная adc_end изменяет свое значение там где не должна этого делать.
[SENSORED] возьми и откомпелируй прогррамку поставь брейкпойнт
на то место где я тебе предлагаю и запусти отладчик . А потом Подывысь як цыферки то
изменяются.
То что ты предложил изменить прототип я изменил не помогло!

Сообщение отредактировал IgorKossak - Jun 9 2007, 17:07
Go to the top of the page
 
+Quote Post
xemul
сообщение Jun 14 2007, 15:28
Сообщение #3



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(Чип-Хрум @ Jun 9 2007, 20:13) *
Ув. xemul я спрашивал конкретно а ты не ответил , я дал пример на катором наглядно
переменная adc_end изменяет свое значение там где не должна этого делать.

Ошибаетесь, я ответил. Вы, вероятно, невнимательно читаете.
Код
С точки зрения компилятора глобальная переменная "volatile unsigned char adc_end=0;" и аргумент функции ADC_2 "unsigned char adc_end" никакого отношения друг к другу не имеют.

Переведу с русского на русский. Вы передаете в функцию ADC_2 один аргумент adc_end по значению, и оно случайно оказывается равно значению глобальной переменной adc_end. То, что имя аргумента и имя глобальной переменной совпадают, не обязывает компилятор С считать их одним и тем же - это не Васик. Как следствие, в прерывании исправно модифицируется значение глобальной переменной adc_end, что никак не отражается на состоянии локальной переменной adc_end функции ADC_2().
Цитата
[SENSORED] возьми и откомпелируй прогррамку поставь брейкпойнт
на то место где я тебе предлагаю и запусти отладчик . А потом Подывысь як цыферки то
изменяются.
То что ты предложил изменить прототип я изменил не помогло!

Ваша программа не требует для разбора проблемы таких усилий. Кста, если место для брейкпоинта означено //???..., то при заданных начальных условиях исполнение программы до него никогда не дойдет.
Я предложил не изменить прототип, а подумать.
Попробуйте следовать в своих постах элементарным этическим нормам, местами распространным в стране моего проживания, или хотя бы правилам форума.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Чип-Хрум   Прерывания в Mega32   May 26 2007, 13:29
- - mempfis_   2. "Можно-ли прерывание осуществлять из преры...   May 26 2007, 14:18
- - defunct   ЦитатаТо бишь с переменными работать не придется? ...   May 26 2007, 15:43
- - ReAl   Цитата(Чип-Хрум @ May 26 2007, 16:29...   May 26 2007, 15:45
- - Alexey Belyaev   Ребят, а что будет если у меня например работает п...   Jun 4 2007, 05:49
|- - IgorKossak   Цитата(Alexey Belyaev @ Jun 4 2007, 08:49...   Jun 4 2007, 06:37
|- - ALexx   Цитата(Alexey Belyaev @ Jun 4 2007, 08:49...   Jun 4 2007, 06:42
- - Чип-Хрум   Вот пример программы в ней переменная unsigned cha...   Jun 9 2007, 09:37
|- - xemul   Цитата(Чип-Хрум @ Jun 9 2007, 13:37)...   Jun 9 2007, 10:24
|- - zltigo   Цитата(xemul @ Jun 9 2007, 13:24) В прото...   Jun 9 2007, 19:40
- - mdmitry   Цитата(Чип-Хрум @ Jun 9 2007, 13:37)...   Jun 9 2007, 10:11
|- - defunct   Чип-Хрум Формулируйте вопрос нормально. что где ч...   Jun 9 2007, 19:00
- - SunnyDevil   Чтобы понять почему написанная программа та себя в...   Jun 11 2007, 13:18


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 20:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01356 секунд с 7
ELECTRONIX ©2004-2016