We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello.
I am writing a simple program for the EZUSB FX2 board, when I compile, I have no errors and no warnings but when I try to debug (my interrupt function is not working) then I get the following :
"error 22 No Code Memory At Address 0045" "error 22 No Code Memory At Address 0055"
I checked this page but it did not help, http://www.keil.com/support/man/docs/mon51/mon51_22.htm
I have run the debugger in some other programs and the configuration was the same and it worked (am I doing a mistake here?), so, anyone can help me? Also, can anyone tell me why my interrupt is not working?
This is the code.
#include "fx2.h" #include "fx2regs.h"
unsigned char num ; bit flag ; BYTE xdata Digit[] = { 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x98, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e };
#define BTN_ADDR 0x20 #define LED_ADDR 0x21
void inter( void ) interrupt INT0_VECT { num ++ ; if( num > 15 ) num = 0 ; flag = 1 ; }
main( ) { BYTE xdata buttons; flag = 0 ;
EZUSB_InitI2C(); // Initialize EZ-USB I2C controller
num = 0 ; EX0 = 1 ; IT0 = 1 ; EA = 1 ;
EZUSB_ReadI2C(BTN_ADDR,0x01,&buttons); EZUSB_WriteI2C(LED_ADDR, 0x01, &(Digit[1])); //So far, the code is running, I see the number 1 on the seven segment display. EZUSB_WaitForEEPROMWrite(LED_ADDR);
while( 1 ) { if( flag == 1 ) { flag = 0 ; EZUSB_WriteI2C(LED_ADDR, 0x01, &(Digit[num])); EZUSB_WaitForEEPROMWrite(LED_ADDR); EA = 0 ; EZUSB_Delay( 333 ) ; EA = 1 ; } } }
Thank you very much.
Anyone?
I am stack here...