cwkoehler
10-05-06, 09:56 PM
Hello all,
I am trying to receive a single character on the SCI0, test the character and respond accordingly. Using the code below I am not able to send, test and respond to a single character. I have to press the character dozens of times or hold down the character before I get any response. I have tried buffers to no avail. Any insight would be appreciated. Thanks in advance for your reply
( Syringeability Prototype – DSP56F805 Controller
( Programmer: Chris Koehler
( Date: 10/1/06
SCRUB
HEX
VARIABLE RXCHAR EEWORD
VARIABLE FSR EEWORD
VARIABLE ACTUATOR_DIR EEWORD
: LED-INIT
GRNLED OFF
YELLED OFF
REDLED OFF
; EEWORD
: GET-CHAR SCI0 RX RXCHAR !
YELLED ON ; EEWORD
: GET-ADC1 FSR ADC1 ANALOGIN ! ; EEWORD
: PWM-INIT
PWMA0 INDEPENDENT
PWMA1 INDEPENDENT
4E2 PWMA0 PWM-PERIOD
; EEWORD
: EXTEND
3333 PWMA0 PWM-OUT
PA0 ON
; EEWORD
: RETRACT
CCCC PWMA0 PWM-OUT
PA0 OFF
; EEWORD
: TURNOFF
PWMA0 OFF
PA0 OFF
HEX
; EEWORD
MACHINE SERIAL_IO EEWORD
ON-MACHINE SERIAL_IO
APPEND-STATE SER-IN EEWORD
APPEND-STATE MTR-MIND EEWORD
APPEND-STATE SER-OUT EEWORD
IN-STATE
SER-IN
CONDITION
SCI0 RX?
CAUSES
GET-CHAR
THEN-STATE
MTR-MIND
TO-HAPPEN
IN-STATE
MTR-MIND
CONDITION
RXCHAR C@ 30 =
CAUSES
EXTEND
THEN-STATE
SER-OUT
TO-HAPPEN
IN-STATE
MTR-MIND
CONDITION
RXCHAR C@ 31 =
CAUSES
RETRACT
THEN-STATE
SER-OUT
TO-HAPPEN
IN-STATE
MTR-MIND
CONDITION
RXCHAR C@ 30 < RXCHAR C@ 31 > OR
CAUSES
TURNOFF
THEN-STATE
SER-OUT
TO-HAPPEN
IN-STATE
SER-OUT
CONDITION
CAUSES
GET-ADC1
THEN-STATE
SER-IN
TO-HAPPEN
: STARTUP
PWM-INIT
LED-INIT
SER-IN SET-STATE
INSTALL SERIAL_IO
EVERY FFFF CYCLES SCHEDULE-RUNS SERIAL_IO
; EEWORD
Chris Koehler
I am trying to receive a single character on the SCI0, test the character and respond accordingly. Using the code below I am not able to send, test and respond to a single character. I have to press the character dozens of times or hold down the character before I get any response. I have tried buffers to no avail. Any insight would be appreciated. Thanks in advance for your reply
( Syringeability Prototype – DSP56F805 Controller
( Programmer: Chris Koehler
( Date: 10/1/06
SCRUB
HEX
VARIABLE RXCHAR EEWORD
VARIABLE FSR EEWORD
VARIABLE ACTUATOR_DIR EEWORD
: LED-INIT
GRNLED OFF
YELLED OFF
REDLED OFF
; EEWORD
: GET-CHAR SCI0 RX RXCHAR !
YELLED ON ; EEWORD
: GET-ADC1 FSR ADC1 ANALOGIN ! ; EEWORD
: PWM-INIT
PWMA0 INDEPENDENT
PWMA1 INDEPENDENT
4E2 PWMA0 PWM-PERIOD
; EEWORD
: EXTEND
3333 PWMA0 PWM-OUT
PA0 ON
; EEWORD
: RETRACT
CCCC PWMA0 PWM-OUT
PA0 OFF
; EEWORD
: TURNOFF
PWMA0 OFF
PA0 OFF
HEX
; EEWORD
MACHINE SERIAL_IO EEWORD
ON-MACHINE SERIAL_IO
APPEND-STATE SER-IN EEWORD
APPEND-STATE MTR-MIND EEWORD
APPEND-STATE SER-OUT EEWORD
IN-STATE
SER-IN
CONDITION
SCI0 RX?
CAUSES
GET-CHAR
THEN-STATE
MTR-MIND
TO-HAPPEN
IN-STATE
MTR-MIND
CONDITION
RXCHAR C@ 30 =
CAUSES
EXTEND
THEN-STATE
SER-OUT
TO-HAPPEN
IN-STATE
MTR-MIND
CONDITION
RXCHAR C@ 31 =
CAUSES
RETRACT
THEN-STATE
SER-OUT
TO-HAPPEN
IN-STATE
MTR-MIND
CONDITION
RXCHAR C@ 30 < RXCHAR C@ 31 > OR
CAUSES
TURNOFF
THEN-STATE
SER-OUT
TO-HAPPEN
IN-STATE
SER-OUT
CONDITION
CAUSES
GET-ADC1
THEN-STATE
SER-IN
TO-HAPPEN
: STARTUP
PWM-INIT
LED-INIT
SER-IN SET-STATE
INSTALL SERIAL_IO
EVERY FFFF CYCLES SCHEDULE-RUNS SERIAL_IO
; EEWORD
Chris Koehler