Заметил одну особенность, если из подпрограммы выходить преждевременно по команде Return, то выполнение программы начнется, заново а не с того места в главном цикле, откуда эта подпрограмма была вызвана.
Глюк или оно так и задуманно, и как вернуться из подпрограммы в тоже самое место?
Вот кусок кода с которым работаю, если переменная А=2 тогда после выполнения условия нужно вернуться в основной цикл, не проверяя больше значение этой переменной. На деле получается что после вызова команды Return программа начинается выполняться с самого начала, а не с места вызова подпрограммы.
Code
Button:
Timer1 = 0
Start Timer1
Backlight = 1
If A = 2 Then
A = 0
If Tdispl <> Temp Then
Temp = Tdispl
Temp_eeprom = Temp
Cls
Lcd "Temp rec"
Wait 1
End If
If Hdispl <> Hum Then
Hum = Hdispl
Hum_eeprom = Hum
Cls
Lcd "Humidity rec"
Wait 1
End If
Waitms 30
Gifr = 64
Return
End If
If A = 1 Then
A = 2
Hdispl = Hum
End If
If A = 0 Then
A = 1
Tdispl = Temp
End If
Waitms 30
Gifr = 64
Return