Hello
I have problem with my interrupt, at the end of interrupt, jump to command Illegal BP and asm BGND.
Do anybody know please, where is problem?
Thank you very much to all.
void interrupt 39 Tx_CAN0(unsigned long id, unsigned char Priority, unsigned char length, unsigned char *Data){
unsigned volatile char i, buf_num;
unsigned char ERR_BUFFER_FULL = 'E';
if(!CAN0TFLG) /*transmi buffer empty? TXEx*/
//return ERR_BUFFER_FULL;
CAN0TIER = 0x00; /*TXEIE 0 - no interrupt request*/
buf_num = CAN0TFLG; /*ulozeni volnych buffer*/
CAN0TBSEL = buf_num; /*TXx dany buffer je vybran*/
buf_num = CAN0TBSEL;
*((unsigned long *) ((unsigned long)(&CAN0TXIDR0))) = id; /*nastaveni id*/
for(i=0; i<length;i++){
*(&CAN0TXDSR0 + i) = Data[i]; /*kopirovani zpravy*/
}
CAN0TXDLR = length; /*nastaveni delky*/
CAN0TXTBPR = Priority; /*nastaveni priority*/
CAN0TFLG = buf_num; /*transmit dat*/
while((CAN0TFLG & buf_num) != buf_num); /*počká na konec přenosu*/
} /*konec preruseni*/
Added p/n to subject.
Message Edited by NLFSJ on 2008-12-01 11:19 AM