I am testing a routine with serial interrupt and I notice that the value is not transferred from SBUF. I notice this in uVison debug. What's happen? Please help me. follow my parcial intr routine
if(RI) { c = SBUF; //<-- here is my problems RI = 0; if (istart + ILEN != iend) { inbuf[iend++ & (ILEN-1)] = c; } }
i am facing the same problem. is there any one to help us. How can you be helped with a problem that does not exist? q = SBUF; WILL move SBUF into q, there is no way around it. If there is nothing in SBUF, then, of course nothing get moved into q. Is it possible that you are confusing the output and input sections of SBUF, if so, you better read up on it in "the bible" Erik
here are the links to "the bible" Chapter 1 http://www.semiconductors.philips.com/acrobat/various/80C51_FAM_ARCH_1.pdf chapter 2 http://www.semiconductors.philips.com/acrobat/various/80C51_FAM_PROG_GUIDE_1.pdf chapter 3 http://www.semiconductors.philips.com/acrobat/various/80C51_FAM_HARDWARE_1.pdf