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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Я в тупике. IAR C., может кто подскажет ниточку ...
SasaVitebsk
сообщение Jul 7 2006, 22:48
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(rezident @ Jul 7 2006, 22:19) *
Цитата
Причина выяснена. Имеется одна переменная, которая объявлена в начале файла таким образом:
uint8_t static NumbActiveKom=0; // Текущее число активных команд

Эта переменная в голове инкрементируется в виде:
NumbActiveKom++; // Ввод команды завершён

А в прерывании декрементируется типа:
NumbActiveKom--; // Сократить число активных команд

Дальше я с помощью отладочного вывода выяснил, что в прерывании она уменьшается (и сохраняется от прерывания к прерыванию), а в голове увеличивается. Короче ведёт себя так, как будто это две различных переменных.


Если main и процедура прерывания описаны в разных Си-шных модулях, то так и будет. Переменная типа static имеет область видимости в пределах того модуля, где она описана.
Объявите ее в модуле с main-ом как

Код
volatile uint8_t NumbActiveKom=0;


а в модуле с прерыванием как

Код
extern volatile uint8_t NumbActiveKom;


и все будет инкрементировать и декрементироваться как вам хотелось.


К сожелению описаны в одном. Переменная описана вверху файла до прерывания и майн. В прерывании я её естественно не описывал. После выходных засяду поплотнее. Ну выясню конечно же. Просто, я думал, может каким то образом из под запущенной проги можно данные на JTAG передать если из под него не запускалось.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jul 8 2006, 18:01
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Ошибку не нашёл. Чем бы я не забивал озу в JTAG всё работает. sad.gif

Прикол вот ещё в чём. Сделал версию "release" и напрямую зашил в кристал (ч/з AVREAL) - тоже работает. Вот и думай после этого что хочешь. sad.gif
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Jul 8 2006, 21:25
Сообщение #18


Профессионал
*****

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Может, просто debug-версия с точками останова, а Вы её в каменьwink.gif?


--------------------
aka Vit
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 26th August 2025 - 22:52
Рейтинг@Mail.ru


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