Я написал код, простую программу, чтобы попытаться увеличить счетчик во время прерывания на portbbits.rb7. Программа строит без ошибок, однако предупреждение существует, что:Процедура прерывания MPLAB XC8 не вызвана для симулятора IOC (pic 16f877a)
:: предупреждение: (1273) всеведущий генерации кода не доступны в свободном режиме main.c: 32: предупреждение: (520) функция «_Interrupt» никогда называется
#define _XTAL_FREQ 8000000
#include <pic16f887.h>
#include <xc.h>
char counter = 0;
char dummy = 0;
void main(void)
{
TRISB = 0x80; //Configure PORTB pin 7 to input
TRISC = 0xOO; //Configure PORTC to output
INTCONbits.RBIF = 0; //clear interrupt on change flag
INTCONbits.GIE = 1; //enable global interrupts
INTCONbits.RBIE = 1; //enable port change interrupt
while(1)
{
PORTC = counter; //update PORTC with value of counter
}
return;
}
void Interrupt (void)
{
INTCONbits.RBIF = 0; //clear Interrupt on change flag
dummy = PORTB; //do a dummy read to clear IOC flag
counter++; //increment counter
}
на тех фрагментах кода, которую я видел, люди, как правило, тестирование их прерывания на оборудовании. Однако у меня пока нет аппаратного обеспечения, поэтому я пытаюсь сделать некоторые симуляции и проверить материал в регистрах адресов и т. Д.
Я сделал предположение, что я смог бы проверить процедуру прерывания только с программным обеспечением (см. Прилагаемое захват экрана). File RegistersCounter Variable Address
Так что, если кто-нибудь может указать на мое упущение или привести меня в правильном направлении, это было бы очень признательно.
Как вы думаете, что «Прерывание» когда-либо будет называться? – Olaf
Мои извинения, я забыл упомянуть, что я могу переключать PORTBbits.7 в симуляторе. Поэтому я ожидал, что как только я это сделаю, рутина будет вызвана. – misterjase
Привет, Олаф, ссылались ли вы на то, что в определении прерывания я отсутствовал [тег: ISR]? Хорошо, что это не то, о чем вы говорили, я включил его, и теперь у меня есть чистая сборка, однако я до сих пор не могу получить доступ к процедуре обслуживания прерываний. больше намеков? – misterjase