I didn't include anything else because (a) everything ran fine on the '88 and (b) one of the five identically-processed channels is working just fine.
All five channels are handled like this (different VARs, of course) in a loop, with the interrupt enabled:
FOR SAMPLX=4 TO 1 STEP -1
ADCIN 2,INMD
IF INMD>TEMPMD THEN TEMPMD=INMD
NEXT SAMPLX
INMD=TEMPMD
IF MODE=1 THEN GOTO HOP3
IF INMD>341 THEN
INMD=(INMD-342)*3
ELSE
INMD=0
ENDIF
HOP3:
IF INMD<10 THEN COMP=0
IF INMD<THRES THEN INMD=THRES+INMD+COMP
INMD=INMD+COMP
IF INMD>1023 THEN INMD=1023
TEMPMD=0
XMD=INMD/2
The INT_INT handler looks like this:
STATE:
FOR INDEX=511 TO 1 STEP -1
IF INDEX=XLO THEN OLO=1
IF INDEX=XLM THEN OLM=1
IF INDEX=XMD THEN OMD=1
IF INDEX=XMH THEN OMH=1
IF INDEX=XHI THEN OHI=1
NEXT INDEX
OLO=0 : OLM=0 : OMD=0 : OMH=0 : OHI=0
@ INT_RETURN
Russ
N0EVC, xWB6ONT, xWN6ONT
"Easy to use" is easy to say.
Bookmarks