PICAXE vice seriovych linek
Zapletal Martin
zapletal na inoma.cz
Pátek Říjen 17 10:15:22 CEST 2014
Zdravim.
Do PICAXE18M2 bych potreboval nacpat celkem dve seriove linky. 1x SERIN a 2x
SEROUT. Mam to nadratovane, v principu to chodi, ale... Pokud jede vse
soucasne, tak data obcas prijdou, obcas ne. Pokud pustim jen jednu linku, je
vse OK. Da se to vubec provozovat soucasne, nebo je treba dat v takoven
pripade 2PICAXE? Zkousel jsem laborovat s TimeOuty, ale to nic neresi. Pokud
je vyhodim, tak procesor ceka, nez data prijdou a nic jineho se neprovede. V
simulaci chodi vse OK, v procesoru to zlobi. Zkousel jsem to i na ruznych
pinech! V teto oblasti nejsem zadny guru mozna jsem neco nepochopil nebo
neco delam spatne, tak si rad vyslechnu Vase nazory.
Jak to ma fungovat:
Prectu data z TTL, zjistim stav pinu1 a vysledek poslu do PC. PC zareaguje a
odpovi. Na odpoved zareaguje PICAXE a provede select.
Tady je fragment hlavni casti kodu:
MAIN1:;cteni dat a obsluha
b11=""
b12=""
if pin1 = 1 then
b13="1" else b13="0" endif
SERIN [10],B.1,T9600_16,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11
if b11<>"" then
serout
B.3,N9600_16,("#0A",b13,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,13,10)
endif
SERIN [10],C.2,N9600_16,b12,b13
if b12="S" then
select b13
case "0"
low B.4
low B.5
low B.6
case "1"
high B.4
case "2"
high B.4
high B.5
case "3"
high B.4
high B.5
high B.6
endselect
endif
goto MAIN1
dik Zaplik
Další informace o konferenci Hw-list