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

 
 
> возврат параметров из прерывания, как передать измененные переменные из прерывания в программу
robix
сообщение Mar 1 2011, 17:28
Сообщение #1


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

Группа: Свой
Сообщений: 126
Регистрация: 15-08-06
Из: Москва
Пользователь №: 19 556



Всем привет!
заметил странную особенность в программировании NIOSII. При вызове обработчика прерывания передаю ему контекст в виде переменной, похоже он передается по значению, поэтому переменная не меняется при возврате в программу. Ну это еще ладно, я изменяю значение глобальной переменной в обработчике прерывания, по возврату из прерывания ее значение не меняется. И самый прикол, такое ощущение, что при обращении к глобальной переменной в обработчике создается постоянная переменная, которая видна только в обработчике прерывания. Кто нибудь может прокомментировать такое поведение? Как мне вернуть переменную из обработчика прерывания?

#include "system.h"
#include "alt_types.h"
#include "altera_avalon_pio_regs.h"
#include "sys/alt_irq.h"

alt_u8 led = 0x0;
volatile int i,j;

static void timer_0_isr (void* context){
led++;
IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE, led);
IOWR_16DIRECT(TIMER_0_BASE, 0, 0);
}

int main(void)
{
IOWR_ALTERA_AVALON_PIO_IRQ_MASK(SW_BASE, 0xf);
alt_ic_isr_register(TIMER_0_IRQ_INTERRUPT_CONTROLLER_ID, TIMER_0_IRQ, timer_0_isr, led, 0);

while(1){
for(i = 0; i < 5000000; i++);
led = 0;
IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE, led);
}
return 0;
}

Сообщение отредактировал robix - Mar 1 2011, 17:30
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- robix   возврат параметров из прерывания   Mar 1 2011, 17:28
- - sergeeff   Что-то мутное у вас многое в программе. 1. Функци...   Mar 1 2011, 18:23
|- - vadimuzzz   Цитата(sergeeff @ Mar 2 2011, 00:23) 1. Ф...   Mar 2 2011, 02:46
- - sergeeff   Да уж, NIOS II это круто. В функции Кодextern i...   Mar 2 2011, 07:40
- - ViKo   С NIOS не знаком. Но, как и sergeeff, недоумеваю. ...   Mar 2 2011, 08:16
|- - vadimuzzz   Цитата(ViKo @ Mar 2 2011, 14:16) Как в пр...   Mar 2 2011, 08:47
|- - robix   Цитата(ViKo @ Mar 2 2011, 11:16) С NIOS н...   Mar 2 2011, 08:48
- - robix   Всем спасибо. Пока вышел из ситуации использование...   Mar 2 2011, 08:30
- - barabek   Цитата(robix @ Mar 2 2011, 18:30) Всем сп...   Mar 2 2011, 12:41
- - vadimuzzz   Цитата(barabek @ Mar 2 2011, 18:41) И, ка...   Mar 2 2011, 14:23
- - sergeeff   Цитата(vadimuzzz @ Mar 2 2011, 17:23) не ...   Mar 2 2011, 16:41
- - vadimuzzz   Цитата(sergeeff @ Mar 2 2011, 22:41) За к...   Mar 2 2011, 23:39
- - sergeeff   Цитата(vadimuzzz @ Mar 3 2011, 02:39) у м...   Mar 3 2011, 10:51
- - vadimuzzz   Цитата(sergeeff @ Mar 3 2011, 16:51) Никт...   Mar 3 2011, 10:55
- - alexPec   Цитата(vadimuzzz @ Mar 3 2011, 13:55) что...   Mar 3 2011, 14:28
- - vadimuzzz   Цитата(alexPec @ Mar 3 2011, 20:28) А ста...   Mar 3 2011, 15:26


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

 


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


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