всем привет!!!!
Компилирую проект из 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(); все работает как надо.. видимо задержка как то влияет на процесс..
может кто нибудь сталкивался с такой проблемой и знает как решить..?