Quote Originally Posted by Heckler View Post
@Normnet... is it really that simple to convert degrees C to degrees F? across the whole range of -55C to +125C ??
I was thinking on the run above but the following is complete.
C value is * 1000 to hold 4 places.

Code:
  C VAR LONG
  F VAR LONG
  iSIGN VAR BIT

  GOTO MAIN

  subC_TO_F:
    F = C * 9
    F = F / 5
    IF iSIGN = 1 THEN 'if the sign bit is "1" is minus C
      IF F > 320000 THEN
        F = F - 320000
        SEROUT2 sSEROUT_PIN,cBAUD,[" -",DEC C/10000,".",DEC4 C," C  = -",DEC F/10000,".",DEC4 F," F",13]
      ELSE
        F = 320000 - F
        SEROUT2 sSEROUT_PIN,cBAUD,[" -",DEC C/10000,".",DEC4 C," C  = ",DEC F/10000,".",DEC4 F," F",13]
      ENDIF
    ELSE
      F = F + 320000
      SEROUT2 sSEROUT_PIN,cBAUD,["  ",DEC C/10000,".",DEC4 C," C  = ",DEC F/10000,".",DEC4 F," F",13]
    ENDIF
  RETURN

  MAIN:

  SEROUT2 sSEROUT_PIN,cBAUD,[" ",13]
  SEROUT2 sSEROUT_PIN,cBAUD,["START",13]

  iSIGN = 1 'NEG
  FOR C = 100 TO 0 STEP -1 '-.0100 C TO 0 C
   GOSUB subC_TO_F
  NEXT

  iSIGN = 0 'POS
  FOR C = 0 TO 100 STEP 1 '0 C TO .0100 C
   GOSUB subC_TO_F
  NEXT


  iSIGN = 1
  FOR C = 550000 TO 0 STEP -10000 '-55.0000 C TO 0 C  'DO STEP -1 FOR COMPLETE BUT FOREVER
   GOSUB subC_TO_F
  NEXT

  iSIGN = 0
  FOR C = 0 TO 1250000 STEP 10000 '0 C TO 125.0000 C  'DO STEP 1 FOR COMPLETE BUT FOREVER
   GOSUB subC_TO_F
  NEXT

  STOP

  END
Norm