Перейти к содержанию
    

FreeRTOS at91sam7x IAR, PIO_Inerrupt

Приветствую.

 

Разбираюсь с примером из компелкта freertos7.6.0 "uIP_Demo_IAR_ARM7"

Пока задача "мигалки" и приема-передачи в уарт(на прерываниях), spi-dataflash, вывод в dbgu(TRACE_INFO). Это работает.

 

Хочу добавить прерывание от ноги, пишу по примеру из ИАРа(пример отдельно тоже работает):

 

    PIO_Configure(pinsINOUT , PIO_LISTSIZE(pinsINOUT));
    PIO_InitializeInterrupts(0);
    PIO_ConfigureIt(&pinsINOUT[PIN_IN_1N], (void (*)(const Pin *)) vPIO_ISR);
    PIO_EnableIt(&pinsINOUT[PIN_IN_1N]);

 

Приложение "зависает" после старта планировщика.

 

И еще такой вопрос: если не стартовать планировщик, а в этом же проекте в мэйне написать while(1), то прерывания тоже не работают. Это так и должно быть? Они где-то в startup.s запрещены?

 

Заранее спасибо за ответы.

Cstartup.txt

Изменено пользователем TU-104

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если сделать разрешение прерывания из задачи, уже после старта планировщика,

    PIO_EnableIt(&pinsINOUT[PIN_IN_1N]);

то не зависает. После подачи на эту ножку 1, происходит рестарт и зависание на старте планировщика.

 

Разобрался, можно закрывать.

Изменено пользователем TU-104

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...