Ovládání návěstidel

Uživatelský avatar
fulda
Příspěvky: 979
Registrován: 04 led 2016, 17:18

Re: Ovládání návěstidel

Příspěvek od fulda » 17 čer 2020, 12:07

Já jsem ve svém příkladu náhodným výběrem použil b10 pro bajt, který se má odeslat a b0 jako pomocnou proměnnou pro odesílací smyčku.

Příkaz serout ti v tomto případě nepomůže, to už zaznělo dávno na začátku. Klidně na něj zapomeň. Znovu si prohlédni co jsem napsal TADY.

Co se týká tvé úvahy:
Pivrnec78 píše:
17 čer 2020, 11:18
A taky nevím, jestli např. číslici "3" si Picaxe uloží jako 10100000 nebo 00000101
tu v rámci starosti o mé duševní zdraví přehlédu.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.

Pivrnec78
Příspěvky: 66
Registrován: 30 dub 2017, 15:25

Re: Ovládání návěstidel

Příspěvek od Pivrnec78 » 17 čer 2020, 19:59

fulda píše:
17 čer 2020, 12:07
Znovu si prohlédni co jsem napsal TADY.
No, tam jsi napsal stať, které nerozumím. Taky nerozumím obavám o Tvé zdarví.
tu v rámci starosti o mé duševní zdraví přehlédu.
Takže asi nejjednodušší pro mně bude to číslo a celý kód vypsat ručně. Aspoň nebudu muset uvažovat, jak ukládá číslo Picaxe a vyzkouším přenos. Jelikož já budu mít kódy 0 až 9, tak si s tím nějak poradím ... prostě příchozí proměnné dám konkrétní sekvenci ...

Kód: Vybrat vše

    low B.4				; nastav výstup B.4 na 0 - start bit
    pause 4				; čekej 4 ms
    high B.4				; nastav výstup B.4 na 1 - start bit - druhá část
    pause 4				; čekej 4 ms
    low B.4				; "0"
    pause 4*7				; čekej 7x 4 ms
    low B.4				; nastav výstup B.4 na 0 - stop bit
    pause 4				; čekej 4 ms
    high B.4				; nastav výstup B.4 na 1 - stop bit - druhá část
    pause 4*3				; čekej 12 ms
... aspoň budu rozumět tomu, co tam píšu. Díky moc za radu.

Mám ještě jednu otázku, i když asi by mohla patřit do položky "dotazy začátečníka", ale ... dám ji sem ... když chci udělat test svítivek před během programu - jednou na začátku, to asi bych měl tu sekvenci dát před samotný příkaz start:, hned za vysvětlení symbol, že ...

Uživatelský avatar
fulda
Příspěvky: 979
Registrován: 04 led 2016, 17:18

Re: Ovládání návěstidel

Příspěvek od fulda » 18 čer 2020, 08:59

Pivrnec78 píše:protože se chytáš za hlavu z mých dotazů, tak se zeptám tady ... pro tu komunikaci S-com budu posílat data pro číslici "3" v pořadí:
1
0
1
0
0
0
0
Tím myslím, jak to budu psát do programu ...
nebo nejprve nuly a pak číslo na konci?
0
0
0
0
1
0
1
Na to je přeci jednoduchá odpověď na obrázku a textu těsně nad ním:
https://www.mtb-model.com/elektro/s-com.htm píše:Dále jsou vysílány jednotlivé bity kódu návěsti b0 až b6, postupně od nejméně významného po nejvýznamnější (MSB).
Obrázek
nejméně významný bit je pro číslo 3 ten nejvíc vpravo, s hodnotou 1, následuje druhý méně významný bit zase s hodnotou 1 a pak všechny významnější bity mají hodnotu 0.
Binárně se číslo 3 zapíše jako 00000011 pokud to má bít na sedm pozic. v protokolu to odesíláš "od konce", nejprve je ale ty start bity.
Pivrnec78 píše:A Ty jsi mi byl doporučený jako osoba, která tu komunikaci S-com pro MTB kdysi tvořila
Tak to jsou pomluvy, já používám návěstidla jinak: TAKHLE.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.

Pivrnec78
Příspěvky: 66
Registrován: 30 dub 2017, 15:25

Re: Ovládání návěstidel

Příspěvek od Pivrnec78 » 18 čer 2020, 09:31

Tak jsem se spletl ... se nejedná o č.3, ale o č.5, ale člověk Tvého formátu, by to mohl poznat ...

Pivrnec78
Příspěvky: 66
Registrován: 30 dub 2017, 15:25

Re: Ovládání návěstidel

Příspěvek od Pivrnec78 » 18 čer 2020, 09:50

fulda píše:
18 čer 2020, 08:59
Na to je přeci jednoduchá odpověď na obrázku a textu těsně nad ním:
https://www.mtb-model.com/elektro/s-com.htm píše:Dále jsou vysílány jednotlivé bity kódu návěsti b0 až b6, postupně od nejméně významného po nejvýznamnější (MSB).
Obrázek
nejméně významný bit je pro číslo 3 ten nejvíc vpravo, s hodnotou 1, následuje druhý méně významný bit zase s hodnotou 1 a pak všechny významnější bity mají hodnotu 0.
Binárně se číslo 3 zapíše jako 00000011 pokud to má bít na sedm pozic. v protokolu to odesíláš "od konce", nejprve je ale ty start bity.
Pivrnec78 píše:A Ty jsi mi byl doporučený jako osoba, která tu komunikaci S-com pro MTB kdysi tvořila
Tak to jsou pomluvy, já používám návěstidla jinak: TAKHLE.
Na to je možná jednoduchá odpověď pro Tebe, ale já z toho obrázku nejsem vůbec chytrý. Je mi spíše jasnější to, že je jedno, jak je číslo kde zapsané, důležité je, aby na požadovaný pin došlo v tom správném pořadí ... a to jsi mi objasnil ... takže Ti děkuji za výstižnou odpověď i s Tvým bonusem ... snad to konečně dám dokupy tak, jak to já chci a jak mi to vyhovuje a snad se nezpletu :-)

Uživatelský avatar
fulda
Příspěvky: 979
Registrován: 04 led 2016, 17:18

Re: Ovládání návěstidel

Příspěvek od fulda » 18 čer 2020, 10:30

Pivrnec78 píše:Ahoj, koukám, že si budeme dopisovat na více frontách ... já Ti napíšu tady a Ty mi odpovíš tam, taky zajimavý způsob ...

Díval jsem se na ten Tvůj upravený převod ...
if b10 % 2 = 0 then low B.4 else high B.4 ; další bit k odeslání
A pořád jsem nechápal "co tím chceš říct", ale pak mně napadla jedna myšlenka a našel jsem si, jak se převádí číslo z desítkové soustavy do dvojkové ... takže Ty tu hodnotu vydělíš "2" a pokud je zbytek "0", tak se vývod nastaví na "0" a pokud je zbytek "1", tak se nastaví na "1", takže pokud tomu dobře rozumím, u každého lichého čísla bude první "1" a u každého sudého bude první "0". Protože pro číslo "8" to bude 0001 a doplněno na celkem 7 bitů o další 000 a pro číslo "4" to bude 001 a pak 0000. Takže třeba "13" bude 1011 a 000.

Tím se vyjasnilo trochu více věcí, ale musím přiznat, že doteď jsem tuto informaci nepotřeboval.

Celou smyčku si uložím jako vzorovou s nějakýma poznámkama a protože toto pro mně není podstatné, a až to nebudu potřebovat, tak tuto informaci zapomenu, takže se časem možná budeš se mnou rozčilovat, že jsme to už někde řešili, protože časem taky zapomenu i to, že jsme to už řešili. A taky se může stát, že zapomenu, kam jsem si uložil i ten vzor ...
Ano, to byla právě ta starost o mé duševní zdraví.
Ještě bych v rámci nuceného vzdělání poznamenal, že když něco stojí 01 Kč, je to většinou levnější, než když něco stojí 10 Kč. A to bez ohledu na soustavu v jaké je ta cena napsaná. Proto se u desítkové soustavy píše jejméně významná číslice na konci a nejvíce váznamná číslice na začátku. Tedy pokud se nám něco zdraží z 10 Kč na 11 Kč, je to nevýznamné zdražení, ale pokud se něco zdraží z 10 Kč na 20 Kč, je to změna výsnamná.
Tím jsem chtěl říci, že je dobré psát ta binární čísla ve správném pořadí.
Ačkoli tady je omluvitelné, že je píšeš v pořadí jak se odesílají
Za pravopisné chyby v této zprávě může moje učitelka češtiny.

Pivrnec78
Příspěvky: 66
Registrován: 30 dub 2017, 15:25

Re: Ovládání návěstidel

Příspěvek od Pivrnec78 » 18 čer 2020, 10:37

fulda píše:
18 čer 2020, 10:30
Pivrnec78 píše:Ahoj, koukám, že si budeme dopisovat na více frontách ... já Ti napíšu tady a Ty mi odpovíš tam, taky zajimavý způsob ...

Díval jsem se na ten Tvůj upravený převod ...
if b10 % 2 = 0 then low B.4 else high B.4 ; další bit k odeslání
A pořád jsem nechápal "co tím chceš říct", ale pak mně napadla jedna myšlenka a našel jsem si, jak se převádí číslo z desítkové soustavy do dvojkové ... takže Ty tu hodnotu vydělíš "2" a pokud je zbytek "0", tak se vývod nastaví na "0" a pokud je zbytek "1", tak se nastaví na "1", takže pokud tomu dobře rozumím, u každého lichého čísla bude první "1" a u každého sudého bude první "0". Protože pro číslo "8" to bude 0001 a doplněno na celkem 7 bitů o další 000 a pro číslo "4" to bude 001 a pak 0000. Takže třeba "13" bude 1011 a 000.

Tím se vyjasnilo trochu více věcí, ale musím přiznat, že doteď jsem tuto informaci nepotřeboval.

Celou smyčku si uložím jako vzorovou s nějakýma poznámkama a protože toto pro mně není podstatné, a až to nebudu potřebovat, tak tuto informaci zapomenu, takže se časem možná budeš se mnou rozčilovat, že jsme to už někde řešili, protože časem taky zapomenu i to, že jsme to už řešili. A taky se může stát, že zapomenu, kam jsem si uložil i ten vzor ...
Ano, to byla právě ta starost o mé duševní zdraví.
Ještě bych v rámci nuceného vzdělání poznamenal, že když něco stojí 01 Kč, je to většinou levnější, než když něco stojí 10 Kč. A to bez ohledu na soustavu v jaké je ta cena napsaná. Proto se u desítkové soustavy píše jejméně významná číslice na konci a nejvíce váznamná číslice na začátku. Tedy pokud se nám něco zdraží z 10 Kč na 11 Kč, je to nevýznamné zdražení, ale pokud se něco zdraží z 10 Kč na 20 Kč, je to změna výsnamná.
Tím jsem chtěl říci, že je dobré psát ta binární čísla ve správném pořadí.
Ačkoli tady je omluvitelné, že je píšeš v pořadí jak se odesílají
Tak jsi ze mě udělal veřejně blbečka ... už jsi spokojnej?

Pivrnec78
Příspěvky: 66
Registrován: 30 dub 2017, 15:25

Re: Ovládání návěstidel

Příspěvek od Pivrnec78 » 18 čer 2020, 10:50

fulda píše:
12 čer 2020, 13:33

Kód: Vybrat vše

low C.1		; nastav výstup C.1 na 0 - start bit
pause 4 	; čekej 4 ms
high C.1	; nastav výstup C.1 na 1 - start bit - druhá část
pause 4 	; čekej 4 ms
for b0 = 0 to 6	; cyklus pro jednotlivé bity
 if b10 bit 0 clear then low C.1 else high C.1	; další bit k odeslání
 pause 4 	; čekej 4 ms
 b10 = b10 / 2	; připrav si další bit
next b0		; konec cyklu
low C.1		; nastav výstup C.1 na 0 - start bit
pause 4 	; čekej 4 ms
high C.1	; nastav výstup C.1 na 1 - start bit - druhá část
pause 4*3 	; čekej 12 ms
Když doplním úpravu příkazu If na:

Kód: Vybrat vše

low C.1		; nastav výstup C.1 na 0 - start bit
pause 4 	; čekej 4 ms
high C.1	; nastav výstup C.1 na 1 - start bit - druhá část
pause 4 	; čekej 4 ms
for b0 = 0 to 6	; cyklus pro jednotlivé bity
 if b10 % 2 = 0 then low C.1 else high C.1 ; další bit k odeslání
 pause 4 	; čekej 4 ms
 b10 = b10 / 2	; připrav si další bit
next b0		; konec cyklu
low C.1		; nastav výstup C.1 na 0 - start bit
pause 4 	; čekej 4 ms
high C.1	; nastav výstup C.1 na 1 - start bit - druhá část
pause 4*3 	; čekej 12 ms
Neměl bych nejprve vydělit hodnotu proměnné, abych zjistil hodnotu zbytku?
A pak hodnotou zbytku určit jestli bude pin v "1" nebo "0"?

Ty tady nejdříve určuješ zbytek a pak teprve dělíš ...

Uživatelský avatar
fulda
Příspěvky: 979
Registrován: 04 led 2016, 17:18

Re: Ovládání návěstidel

Příspěvek od fulda » 18 čer 2020, 11:52

Ne, to modulo je zbytek po dělení, nejprve potřebuješ zjistit, jestli je číslo liché a pak teprve udělat div aby jsi dostal další řád.
Udělej si příklad s číslem 5

První kolo:
5 % 2 = 1 --> odesílám 1
5 / 2 = 2.5 --> uložím si 2, protože mám jen byte
druhé kolo:
2 % 2 = 0 --> odesílám 0
2 / 2 = 1 --> uložím si 1
třetí kolo
1 % 2 = 1 --> odesílám 1
1 / 2 = 0.5 --> uložím si 0, protože mám jen byte
... a další kola už jsou s nulou, tak je nemá cenu psát
Za pravopisné chyby v této zprávě může moje učitelka češtiny.

Pivrnec78
Příspěvky: 66
Registrován: 30 dub 2017, 15:25

Re: Ovládání návěstidel

Příspěvek od Pivrnec78 » 18 čer 2020, 13:35

SUPER, takže přece jen to nemusím vypisovat ručně ...
Děkuji ...

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host