Stránka 1 z 10
Dotazy začátečníka 2
Napsal: 21 úno 2016, 20:55
od PavelM
Vážení kolegové, povedlo se mi odladit prográmek na 08M - diody blikají jak mají dle definovaných cyklů, tlačítko na startu reaguje, uprostřed také. Když odpojím sériový kabel, po restartu vše funguje, dokud nepřiblížím ruku k procesoru - bez doteku! Program se restartuje. To se děje se 100% opakovatelností. Ošetření vstupů 2 a 7 dle doporučení včetně i následně přidané diody.
Nemáte někdo zkušenost s tímto problémem?
Re: Dotazy začátečníka 2
Napsal: 21 úno 2016, 21:36
od jrt
Ošetření vstupů 2 a 7 dle doporučení včetně i následně přidané diody.
1. Máte co nejblíže pouzdru PICAXE připojen keramický kondenzátor o hodnotě 47 až 220 n mezi piny 1(+) a 8(-)?
Pokud to nepomůže:
2.Odpojte sériový kabel a pin 2 spojte s pinem 8.
Pokud to nepomůže:
3. Pošlete schéma zapojení včetně ošetření pinů 2 a 7.
Re: Dotazy začátečníka 2
Napsal: 22 úno 2016, 09:11
od Luděk
Ahoj po ránu,
zkusím taky tipovat problém... pokud je pin připojen na tlačítko, nesmí být v luftě, je třeba přidat Pullup odpor,
nebo to udělat příkazem... A jak kolega uváděl i vstup C.5 (pin2), musí mít odpor k zemi 5-22k.
Ale asi bez schema či kodu moc neporadíme...
Re: Dotazy začátečníka 2
Napsal: 22 úno 2016, 22:15
od PavelM
Kondenzátor přímo na vývodech pomohl. Měl jsem ho původně na vstupu napájení. Tlačítka mám na zem přes 10k. Dík za pochopení.
Dotazy začátečníka 2
Napsal: 07 čer 2017, 06:52
od Pivrnec78
Zdravíčko,
mám malý problém, který jsem sice vyřešil po svém, ale kdyby se to povedlo ...
přiřadil jsem pinu název, se kterým pracuji ... dále jsem bitu taky přiřadil název a poté jsem názvy "srovnal" ...
Kód: Vybrat vše
symbol S1 = pinA.0
symbol S1_b = bit1
S1 = S1_b
Jenže v tomto stavu mi to funguje (asi) jako opakovač - co je na pinu A.0, to je v bit1 ... ale já bych potřeboval aby si bit1 pamatoval log.1 do doby než jej fyzicky vynuluju např.
let bit1 = 0 ... abych po stisknutí a následném uvolnění tlačítka na pinu A.0 mohl dále pracovat s informací, že bylo tlačítko stisknuto ...
Vyřešil jsem to
a když už tuto informaci nepotřebuji, tak mám
let bit1 = 0, abych potom zase mohl hlídat opakovaný stisk ...
Dá se nějak "donutit" tento CPU, aby si pamatoval "bit1", aniž bych jej nastavil? Aby při stisku zkopíroval do bitu a tuto informaci tam uchoval dokud ji nevymažu?
Jedná se o 28x2
Díky za názory, P.
Re: Dotazy začátečníka 2
Napsal: 07 čer 2017, 18:20
od Vladimir66
co znamena: if pinA.0 = then let bit1 = 1 ??
kdyz budes mit podminku if pinA.0 = 0 then let bit1 = 1 ,
tak potom kdyz nastane pinA.0 = 1 se bit1 nema jak zmenit. (dokud ho nekde nezmenis let bit1 = 0)
jednou zapsana promenna zustane zapsana.
mozna vic popiš ten zamýšlený algoritmus.
nepochopil jsem myslenku, ze neco zkopirovat je jine, nez neco nastavit.
nastaveni, zkopirovani, prirazeni - to chapu jako stejnou vec. meni se hodnota promenne.
nebo mas problem s tim IFem ?
-V66
Re: Dotazy začátečníka 2
Napsal: 22 čer 2017, 12:17
od Pivrnec78
Chyba v textu ... vypadlo mi číslo :-/ mělo tam být
if pinA.0 = 1 then let bit1 = 1
Jde o to, že když napíšu "pinA.0 = bit1", tak při každé změně stavu na pinu A.0 se automaticky změní také hodnota bit1. Ale já po stisku (resp. uvolnění) tlačítka potřebuji pracovat s informací, že bylo tlačítko stisknuto. Proto jsem to vyřešil "mechanicky" - ručním zápisem "if pinA.0 = 1 then let bit1 = 1" ... když je podmínka splněna (tlačítko stisknuto), tak se mi příkazem "let bit" obsadí bit a po uvolnění tlačítka si bit danou hodnotu pamatuje pro další možnou budoucí prací s touto informací. A jakmile už tuto informaci nepotřebuji, tak ji vynuluju "let bit1 = 0" ...
Po dobu co bit1 = 1 mne nezajímá, kolikrát bude tlačítko stisknuto. Tímto způsobem řeším i možné zákmity tlačítka nebo kombinace "if", kde potřebuju vědět, jestli už bylo stisknuto, ale nezajmá mne kdy a kolikrát.
Ale přeci jen bych měl jeden technický dotaz ...
co do počtu bitů mám k dispozici pouze 16 bitů (bit0 až bit7 (b0) a bit8 až bit15 (b1))? Co kdybych potřeboval pracovat s více bity - s více uloženými informacemi, ale je pro mne škoda obsazovat kvůli informaci jestli je nebo není =1 celý bajt .. dá se nějak pracovat s jednotlivými bity dalších bajtů? jak "oslovím" jednotlivé bity z b2, b3, atd.? Co jsem pročítal návody, tak jsem našel informaci:
K dispozici je 14 byte b0 až b13, které mohou být sdružovány po dvou v 16 bitová slova (word) w0 až w6. Jednotlivé bity b0 a b1 mohou být také adresovány jako bit0 až bit 15.
Ale co kdybych chtěl pracovat s jednotlivými bity dalšího bajtu ... co se mi stane po zápisu bit16 nebo třeba bit100?
Protože pokud bych chtěl např. při splnění podmínky dvou bitů "if bit1 = 1 and bit2 = 1 then ..." obsadit další bit pro budoucí zpracování a bity z b0 a b1 už mám obsazené (přiřazené), tak nyní mi zbývá používat pouze celé bajty? Není to luxus pro práci s hodnotou "0" nebo "1" požít celý bajt?
Re: Dotazy začátečníka 2
Napsal: 22 čer 2017, 23:44
od Vladimir66
https://www.google.cz/url?sa=t&rct=j&q= ... iA&cad=rja
navrhari neudelali primy pristup ke kazdemu bitu registru v procesoru.
spoustu stavů vyresis hodnotou/obsahem promenne "byte". nemusis mit vzdycky stav vyjadreny bitově..
-V66
Re: Dotazy začátečníka 2
Napsal: 25 čer 2017, 07:58
od Pivrnec78
Vladimir66 píše: ↑22 čer 2017, 23:44
spoustu stavů vyresis hodnotou/obsahem promenne "byte". nemusis mit vzdycky stav vyjadreny bitově..
-V66
Za mapku díky - pomůže (doufám)
Ano, i s bajtem (byte) mohu pracovat, dokonce jsem pro uchování informací vytvořil "mapu" na bitech u b1 a pro pozdější práci jsem ji "překlopil" do b2 ... let b1 = b2 a let b1 = 0 a b1 opět používal po bitech, ale to bylo moc složité (zatím), takže já (zatím) hospodařím s hodnotou pouze "1" a "0" ...
Ale teď mi něco došlo ...
díky za to ... já mohu použít např.: "if bit1 = 1 and bit2 = 1 then let b2 = 3" a jinde třeba "if bit1 = 1 and bit3 = 1 then let b2 = 5" a poté používat "if b2 = 3 then ..." nebo "if b2 = 5 then ..."
Jo, to by šlo ...
28X2
Napsal: 28 říj 2017, 07:30
od Pivrnec78
Zdravíčko,
mám zapojení s 28X2 a nepotřebuju tam vývody:
1 - Reset
9 - Osc1
10 - Osc2
Co s nimi - na "+" nebo na "-"? A co když zůstanou nezapojené?
Dík za odp., P.