klávesnice - key down(up) PICAXE
Napsal: 23 říj 2019, 15:36
Dobrý den,
sestavil jsem si tuto specifickou klávesnici kterou zpracovávám následujícím kodem pro procesor PICAXE. Vybrané tlačítko pak odešle na seriovou linku text se znakem příslušné klávesy a to pak následně zpracovávám v Delphi7.
Problém který řeším, je jak upravit stávající kod, tak aby se na sériovou linku odeslal jen jeden text(znak). Tedy stlačím tlačítko, odešlu jeho text(znak) a i když jej stále držím, už se neodešle nic.
Pro další poslání je tedy nutné tlačítko uvolnit a zmáčknout nové.
Předem děkují za cenné rady.
zdrojový kod:
main: rem začatek programu
readadc A.1,b0 ; klávesnice připojena na vstup A.1 (pin 3)
select case b0 ; vybereme správné tlačítko a odešleme na seriovou linku
case > 250
serout 3,N9600, ("L")
case > 193
serout 3,N9600, ("1")
case > 154
serout 3,N9600, ("2")
case > 128
serout 3,N9600, ("3")
case > 110
serout 3,N9600, ("6")
case > 95
serout 3,N9600, ("5")
case > 85
serout 3,N9600, ("4")
case > 75
serout 3,N9600, ("LS")
case > 70
serout 3,N9600, ("PS")
case > 64
serout 3,N9600, ("7")
case > 59
serout 3,N9600, ("8")
case > 54
serout 3,N9600, ("9")
case > 51
serout 3,N9600, ("0")
case > 48
serout 3,N9600, ("P")
end select
low b.1 ; vypínání a zapínání LED, jako optická kontrola
pause 25 ; že došlo k naprogramování a PICAXE odesílá data
high b.1
pause 25
goto main ; návrat na začátek
sestavil jsem si tuto specifickou klávesnici kterou zpracovávám následujícím kodem pro procesor PICAXE. Vybrané tlačítko pak odešle na seriovou linku text se znakem příslušné klávesy a to pak následně zpracovávám v Delphi7.
Problém který řeším, je jak upravit stávající kod, tak aby se na sériovou linku odeslal jen jeden text(znak). Tedy stlačím tlačítko, odešlu jeho text(znak) a i když jej stále držím, už se neodešle nic.
Pro další poslání je tedy nutné tlačítko uvolnit a zmáčknout nové.
Předem děkují za cenné rady.
zdrojový kod:
main: rem začatek programu
readadc A.1,b0 ; klávesnice připojena na vstup A.1 (pin 3)
select case b0 ; vybereme správné tlačítko a odešleme na seriovou linku
case > 250
serout 3,N9600, ("L")
case > 193
serout 3,N9600, ("1")
case > 154
serout 3,N9600, ("2")
case > 128
serout 3,N9600, ("3")
case > 110
serout 3,N9600, ("6")
case > 95
serout 3,N9600, ("5")
case > 85
serout 3,N9600, ("4")
case > 75
serout 3,N9600, ("LS")
case > 70
serout 3,N9600, ("PS")
case > 64
serout 3,N9600, ("7")
case > 59
serout 3,N9600, ("8")
case > 54
serout 3,N9600, ("9")
case > 51
serout 3,N9600, ("0")
case > 48
serout 3,N9600, ("P")
end select
low b.1 ; vypínání a zapínání LED, jako optická kontrola
pause 25 ; že došlo k naprogramování a PICAXE odesílá data
high b.1
pause 25
goto main ; návrat na začátek