Sériová linka - příjem dat BASCOM
Moderátor: Moderátoři
Sériová linka - příjem dat BASCOM
potreboval bych pomoc s prijmutim dat do mega8. Takze po seriové lince chodej takto data...255 0 0.....ta 255 je synchronizacní dalsi byte je pořadi(v mem pripade serva) 0 - 7 a dalsi byte je nastaveni toho serva...Stacilo by nejaky napoknuti jak se to v tomhle připade řeší..
Moc dik
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Pokud data obsahují i 255 a 0, nepůjde to, pokud nebude možnost se "chytit" třeba na pomlku mezi daty.
Obecně bez crc to nechodí dobře a je potřeba ošetřit hromadu věcí, jako např. ztráta jednoho byte.
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
a to osetreni těch chyb bych co by mohli nastat by se kdystak doresili pozdeji
Zatíím dík.
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
V Bascomu to neumím, já používám asm, ale stačí čekat na přijetí znaku 255 a další dva po příjmu uložit jako číslo a stav. Pokud během toho přijde znovu 255, je to chyba.
Zbytek je věc přerušení od příjmu znaku atd., Bascom neovládám, ale tam to bude triviální.
Musíš počkat, až se probudí Andrea
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Kód: Vybrat vše
dim A as byte
dim B(2) as byte
A = inkey()
IF A = 255 then
B = inkey()
select case B(1)
case 0 : servo0 = B(2)
case 1 : servo1 = B(2)
end select
end ifKód: Vybrat vše
B(1)=inkey()
B(2)=inkey()