12/07/2006


There are still a number of students sending me email for additional
clarification on various aspects of interrupts.  I will continue to
forward the ones I think might be useful to you all.  I leave it to
you to decide which to read carefully, and which add no value to you.

A student writes:


        Hey Dr. Patt, 

Hey, Mr. *******.


        in writing my interrupt service routine I have successfully
        written code to poll the DSR until it is ready, then load 
        my ASCII value into the DDR.  My question is, is it necessary 
        to do the same thing for the KBSR/KBDR?  Under normal 
        circumstances I would poll the KBSR until it was ready, then 
        read the value from the KBDR, but since those parts of my code
        are in my interrupt service routine, is it redundant?  
        Meaning, hasn't the KBSR been asserted with a 1 in the 
        highest 2 bits for my interrupt to execute, so do I need 
        to poll the KBSR before I read from the DDR?  Or will
        either way work and have no effect on the grading of my program?

        <<name withheld to protect the student who sees it is redundant and
          unnecessary, but deep down wants to be sure it has no effect on the
          grading>>

The whole point of the programming assignment is that if the IE bit is set,
you don't need to poll the KBSR, and in fact you should NOT waste time 
polling the KBSR.

Yale Patt