всем привет!!!! Компилирую проект из IAR 5.30 basic-rtt-project заливаю в at91sam7x256... все вроде бы работает.. но после маленькой модификации проекта возникает проблема... наблюдается множественный вход в подпрограмму обработки прерывания... //////////////////////////////////////////////////////////////////////////////// #define test_pin (1<<20) #define led_test_on() *AT91C_PIOB_CODR|=test_pin; #define led_test_off() *AT91C_PIOB_SODR|=test_pin; #define led_test_blink() if((*AT91C_PIOB_ODSR&test_pin)==0) led_test_off() else led_test_on(); //////////////////////////////////////////////////////////////////////////////// void ISR_Rtt(void) { unsigned int status; // Get RTT status status = RTT_GetStatus(AT91C_BASE_RTTC); // Time has changed, refresh display if ((status & AT91C_RTTC_RTTINC) == AT91C_RTTC_RTTINC) { led_test_blink(); // RefreshDisplay(); } // Alarm // if ((status & AT91C_RTTC_ALMS) == AT91C_RTTC_ALMS) { //alarmed = 1; // RefreshDisplay(); //} } ////////////////////////////////////////////////////////////////////////////// вхождение в пп наблюдаю осциллографом.. когда подключаю RefreshDisplay(); все работает как надо.. видимо задержка как то влияет на процесс.. может кто нибудь сталкивался с такой проблемой и знает как решить..?
|