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

 
 
> IAR 5.3, Кто измеяет переменные?
an_ga
сообщение Nov 24 2009, 05:36
Сообщение #1





Группа: Участник
Сообщений: 7
Регистрация: 8-11-08
Из: Киев
Пользователь №: 41 471



Доброго времени суток. При разработке программы для tiny2313 наткнулся на следующую проблемму: изменяются значения глбальных переменных. Влоть до того:

unsigned char ButtonNumber;
.
.
.
if(cmd==Play)
{
Mode=pass;//режим ввода 7мизначного пароля
ButtonNumber=0;
Beep();
}

void Beep()
{
Buzzer_ON;//вкл. пищалку
delay_ms(200);//использует __delay_cycles
Buzzer_OFF;//выкл. пищалку
}

После Beep() ButtonNumber уже не ноль а какое-то число. Есть отработки прерываний, но они переменную не трогают. Закономерности найти не могу. Подскажите, пожалуйста, где копать. Большое спасибо.

Сообщение отредактировал an_ga - Nov 24 2009, 05:37
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kosyak©
сообщение Nov 24 2009, 08:32
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 179
Регистрация: 1-10-07
Из: НЧ
Пользователь №: 30 966



Цитата
Даже если это временно поможет...

Хм...если проблема в недостаточной глубине стэка, то поможет.
Если проблема в оптимизации, по какой либо причине, компилятором работы с переменной - то тоже поможет...
Go to the top of the page
 
+Quote Post
Dima_G
сообщение Nov 24 2009, 08:38
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 279
Регистрация: 2-07-08
Из: Новосибирск
Пользователь №: 38 699



Цитата(kosyak© @ Nov 24 2009, 12:32) *
Хм...если проблема в недостаточной глубине стэка, то поможет.
Если проблема в оптимизации, по какой либо причине, компилятором работы с переменной - то тоже поможет...


Переменная - глобальная
Увеличение величины стека поможет только в том случае, если его переполнение вызывает "наползание" на эту переменную

Предпологаю, что все проще - автор где-то неаккуратно с массивами / указателями работает
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 06:59
Рейтинг@Mail.ru


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