humhum ustam sizin vermiş olduğunuz yazılımda mantık hatası var, sakın beni yanlış anlamayın, şöyle ki;
Basla:
PORTB.0=0
IF PORTA.0=1 Then abc: 'eğer giriş 1 ise çıkışı 0 yap
'Return
IF PORTA.0=0 Then bcd:
abc: Low PORTB.0
bcd: High PORTB.0
Pause 1000
Call Basla:
if lere kadar sorun yok, ama abc :...... ve bcd:.... satırlarınıda işler ana döngüde yazılım, oysa siz onu bir şarta bağlamış olsaydınız şayet o zaman abc ve bcd işlemleride çalışırdı, yani şöyle yapabilirdiniz,
Basla:
PORTB.0=0
IF PORTA.0=1 Then gosub abc: 'eğer giriş 1 ise çıkışı 0 yap
'Return
IF PORTA.0=0 Then gosub bcd:
Pause 1000
Call Basla
abc:
Low PORTB.0
return
bcd:
High PORTB.0
return
end
:
ayrıca şu butona basılı olduğu sürece işlem yapmaması olayı ise
if porta.0 =0 then
while porta.0 ==0 :wend
demek ile while komutu porta.0 ın bırakılmasına kadar döngüde kalır ve bir alt satıra gitmez, bunu şu şekilde de yapabiliriz.
if porta.0 =0 then
aa: porta.0 =0 then aa
yani porta.0 pini 0 olduğu sürece aa rutininda yazılım dönüp durur ne zaman ki porta.0 in durumu değişir o zaman işlem bir alt rutine gecer