Ya, I screwed it up again. This gets a bit difficult when you don't run the program immediately to see your errors (which is what you're doing at that end!).
Another version of the program coming in a couple of minutes (or less)...
Ya, I screwed it up again. This gets a bit difficult when you don't run the program immediately to see your errors (which is what you're doing at that end!).
Another version of the program coming in a couple of minutes (or less)...
'RECEIVE PIC
'same includes and defines as the other versions
temp var word : tempf var word : counter var byte : templo var byte : temphi var byte : input portb.2 : converts var byte[15]
convtemp var byte : converts[0] = $55 : converts[1] = $56 : converts[2] = $59 : converts[3] = $5a : converts[4] = $65
converts[5] = $66 : converts[6] = $69 : converts[7] = $6a : converts[8] = $95 : converts[9] = $96 : converts[10] = $99
converts[11] = $9a : converts[12] = $a5 : converts[13] = $a6 : converts[14] = $a9 : converts[15] = $aa
pause 1000
loop:
counter = counter + 1 : lcdout $fe , $c0 , "Waiting......" , DEC3 counter
waitfor55:
serin portb.2 , t2400 , temp : if temp <> $55 then goto waitfor55
waitforaa:
serin portb.2 , t2400 , temp : if temp <> $aa then goto waitforaa
serin portb.2 , t2400 , templo : serin portb.2 , t2400 , temphi
for convtemp = 0 to 15
if templo = converts[temp] then templo = convtemp
if temphi = converts[temp] then temphi = convtemp
next convtemp
temp = ( temphi << 4 ) + templo : tempf = temp * 9 : tempf = tempf / 5 : tempf = tempf + 32
lcdout $fe , $80 , "Tc=" , DEC3 temp , "C,Tf=" , DEC3 tempf , "F." : lcdout $fe , $c0 , "Received....." , DEC3 count
goto loop
'TRANSMIT PIC
'same includes and defines as the other versions, EXCEPT --------------
----------------------------------------------------------------------------------------
'change the char_pacing value to 500. If it's a large value (above 1000 or so), the receiver loses it's "training"
----------------------------------------------------------------------------------------
counter var byte : temp var word : output portb.2 : high portb.2 : input portb.3 : dq var portb.4 : templo var byte
temphi var byte :converts var byte[15] : converts[0]=$55 : converts[1]=$56 : converts[2]=$59 : converts[3]=$5a
converts[4]=$65 : converts[5]=$66 : converts[6]=$69 : converts[7]=$6a : converts[8]=$95 : converts[9]=$96 : converts[10]=$99
converts[11]=$9a : converts[12]=$a5 : converts[13]=$a6 : converts[14]=$a9 : converts[15]=$aa : pause 1000
loop:
lcdout $fe , $c0 , "Getting......" , DEC3 count : owout DQ , 1 , [ $cc ] : owout DQ , 0 , [ $44 ] : Pause 500
owout DQ , 1 , [ $cc ] : owout DQ , 0 , [ $be ] : owin DQ , 0 , [ temp.LOWBYTE , temp.HIGHBYTE , skip 6 ]
lcdout $fe , $80 , "Tc=" , DEC3 temp : lcdout $fe , $c0 , "Sending......" , DEC3 count
templo = temp.lowbyte & $f : temphi = temp.lowbyte >> 4 : templo = converts[templo] : temphi = converts[temphi]
serout portb.2 , t2400 , [ $55 , $55 , $55 , $55 , $aa , templo , temphi ]
counter = counter + 1
goto loop
still getting extremely high values at the receiving end:
578C 872F
Bookmarks