Проблема разрешилась, и она не связана с этой функцией.
Вчера при экспериментах с этой функцией она иногда возвращала странные результаты. Работа следующего фрагмента:
Код:
Vout1 = Vout + B
Print "Vout1:" ; Str(vout1)
Range = M / Vout1
Print "Range:" ; Str(range)
Sharp_d12 = Range - K
Print "Distance:" ; Str(sharp_d12)
приводила к таким результатам:
Код:
Vo:742
Vout1:702
Range:14
Distance:14
Sharp_d12 has returned:0
Vo:283
Vout1:243
Range:41
Distance:0
Sharp_d12 has returned:0
После добавления в преамбулу программы директив:
$hwstack = 32
$swstack = 10
$framesize = 50
все заработало как должно. Жаль, что basic не предупреждает об этом. Это бы сэкономило время начинающих: то, что необходимо позаботиться о стеке в голову пришло не сразу
