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.
Hi I want to use the second data pointer available in Dallas, since i am reading my port and then immediatly writing this data to external ram.All this has to be done in ISR in 10us. I am using in line assembly but the code is not working when i use both data pointers. void external0(void) interrupt 0 using 1 { //TRACK1[LEN_TRK1++]=XBYTE[0x8000]; //TRACK1[LEN_TRK1++] = XBYTE[0x8001]; //The above two C statements are replaced by the below mentioned Assembly code #pragma ASM SETB DPS ; DPS=1 ACTIVE DPTR1 MOV DPTR,#08000H MOVX A,@DPTR ; READ INC DPTR CLR DPS ; DPS=0 ACTIVE DPTR0 MOV DPL,LEN_TRK1+01H MOV DPH,LEN_TRK1 MOVX @DPTR,A ; WRITE INC DPTR SETB DPS ; DPS=1 ACTIVE DPTR1 MOVX A,@DPTR ; READ CLR DPS ; DPS=0 ACTIVE DPTR0 MOVX @DPTR,A ; WRITE INC DPTR MOV LEN_TRK1+01H,DPL MOV LEN_TRK1,DPH #pragma ENDASM } Thanx Faisal