In SX Microcontrollers, SX/B Compiler and SX-Key Tool, bean wrote: I'm not sure if this is the problem, but I suspect it is. Try adding a "CLRB Sio" after the "MOV !RD,tmpTris" in the transmit routine. Try this program below to show the cause of this problem. [code] DEVICE SX28, OSCXT1 FREQ 10_000_000 OUT1 PIN RB.0 OUTPUT PULLUP OUT2 PIN RB.1 OUTPUT PULLUP PROGRAM Start NOSTARTUP Start: OUTPUT OUT1 ' Make OUT1 an output OUT1 = 0 ' Set OUT1 output latch to low INPUT OUT1 ' Make OUT1 an input (pullup will make OUT1 high) OUT2 = 0 ' Here is what causes the problem. ' To make OUT2 low, the controller reads the WHOLE port, when it does this OUT1 will read as high because of the pullup. ' Now it sets the OUT2 bit to zero, and writes the WHOLE port back (this causes OUT1 output latch to be set to a 1) OUTPUT OUT1 ' When we make OUT1 an output, it is high now. END [/code] Bean. ---------- End of Message ---------- You can view the post on-line at: http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=355072#m355133 Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2009 (http://www.dotNetBB.com)