michal123
Vytvořené odpovědi
-
AutorPříspěvky
-
michal123Účastník
Děkuji, zrovna jsem našel takový hex, ke kterímu mám i ino ale už to nejspíš není třeba. Děkuji teď mi to došlo, první byt by měl znamenat počet datových bytů takže to sedí. Snad se mi to podaří brzy vyzkoušet.
michal123Účastníkje to obyčejný o něco delší kus kodu http://leteckaposta.cz/581550497 (je ten jehož číst jsem posílal pred chvílí), ale dělají to i některé jiné i úplně jednoduché,
michal123ÚčastníkUž jsem se k tomu konečně dostal, nedaří se mi to pořádně vyzkoušet. Možná špatně „ořezávám“ například tento kus hex dat:
:101320000FBECDBFED01089510E0C2E6D0E004C0CD
:10133000FE010E944B072196C336D107C9F7F894E6
:02134000FFCFDD
:10134200000055028000000000001F019B00E80021
:10135200C600DA0066010000000036029B008A0225
nebo
:101150000895EE0FFF1F0590F491E02D099481E0B2
:0C11600090E0F8940C94B408F894FFCFD1
:10116C000880000000001B019700E400C200D600BCco s tím když řádek začíná takto?
michal123ÚčastníkUž jsem na to možná přišel, zkoušel jsem ovládat nějaký multiplexor (74hc259), což mi také nešlo a zjistil jsem, že musím mít nejaké pony přiodpálené, že se na první pohled zdají vpořádku ale někdy se na nich oběvuje nějaký frekvence (opravdu se stav mění z H na L a opačně) a někdy se úroveň L přesune o něco výš. Takže jsem si dnes půjčil jiné dvě arduina a až snad pozítří budumít víc času tak se na to znovu podívám.
Děkuji, že jsete napsal, až to zkusím tak dám vědět.michal123ÚčastníkDObrý večer,
nejspíš jsem nepochopil tu 1s pauzu.
Kód funguje pro blink ale už ne pro blink na jiných pinech. Když jsem se na komunikaci kouknul osciloskopem tak jsem zjistil, že arduino když nahrává tak 20,5ms čeká, pošle řídící kód, pak 16ms čeká a pak nahraje stránku a tak to opakuje. (ještě to pak všechno zpětně ověří)
Ale když se podívám na naše data tak, rídících kódů je tam zdáse víc (nevím co arduino neposílá nebo kde nečeká protože z toho nevyluštím konkrétní hodnoty.(případně pošlu nějaké obrázky), časem snad postavím další (arduino) pro paraelní čtení komunikace.michal123ÚčastníkDěkuji brzy ozkouším, jak jste na to přišel?
michal123ÚčastníkJeště jedna drobnost, proč mi to nejde když tak dám hex od blink z arduina?
michal123ÚčastníkMělo by to do druhého procesoru přes piny A2 A3 sw serial nahrát hex z proměné str.
vypadá to, že procesor naváže synchronizaci, něco i do druhého naprgramuje ale druhý procesor po naprogramování a restartování nic nedělá.
(doufám, že to takto stačí)michal123ÚčastníkDěkuji, mám další problém.
Nejspíš jsem ze zamotal kolem 336 řádku, zdá se, že proces již proběhne celý ale někde v tatech musí bých chyba protože arduino pořád nebliká.michal123ÚčastníkTak jsem pořád zaseknutý na tomhle
Proč to nefunguje? a jak na to?michal123ÚčastníkNějak mi trvalo dlouho než jsem se k tomu vůbec dostal, tady posílám nějak opravený neodzkoušený kód
Zítra se k němu dostanu zase až pozdě, zatím kód funguje do funkce kolem řádku 311 taže už to snad brzy vyjde.michal123ÚčastníkDěkuji, už to také vidím ale porád si nedovedu vysvětlit, že to vracelo blbosti i když tam HEX nebylo.
Az přiijdu odpoledne domů tak to znovy vyzkouším s polem UINT_8 které by k tomu mělo být nejspíš nejlepší.michal123ÚčastníkTak jsem opravil pár chyb a dostal jsem se k chybám v zapisdata(), to nefunguje vůbec.
Kdyžfor(int i=0;i<100;i++){ Serial.print(str[0][i]); }
pak to vypíše nesmysly a když do toho napíšu HEX tak to taky není lepší, Takže vůbec netuším čím to je ale snad mi to dojde zítra.
michal123Účastníkzatím teoretická verze, k arduinu se dostanu až večer (později) a jsem si téměř jist že to fungovat nebude (dělám dost chyb a máloco ufnguje na první pokus).
Děkuji moc za vysvětlení, doufám že se mi to brzy podaří odzkoušet.
michal123ÚčastníkKonečně jsem se k tomu odstal, je tedy možné to napsat nějak takhle?
samozřejmě pro fungování by to tímto způsobem bylo příloš dlouhé a náročné, možní nespolehlivé.Budu rád když mi řeknete co všechno je špatně případně co by šlo lépe.
michal123ÚčastníkNa co je getParams() ? co to říká? jen to testuje, že procesor reaguje? Je to zjískané číslo jedinečné (dá se na to spolehnout?)?
michal123ÚčastníkDěkuji, už je mi to snad jasné, zkusím napsat kód (ale bude mi to chvíli trvat)
michal123Účastníkjak zjistím velikost stránky?
Předpokládám, že tahle velikost strany je velikost celého programu který se z nějakého důvodu nenahrává po stranách (kterých má být 256) ale celý najendou.
Kde přesně jí vezmu když mám hex soubor vytvořený arduinem? Mohlo by to být třeba tak, že vyzmu hex subor, odstraním z něj dvojtečky (na začátku každého řádku mám dvojtečku), odstraním zalomení řádků a spočítám počet znaků?Kde vezmu počáteční adresu? je to vždy 0x3E00?
Ano poslat data v hex tvaru by vyřešilo tenhle problém ale byl by zbytečně velký tok dat při aplikaci, takže bych se zkusil vydat první cestou programator.write(“P”);
mohu tedy data uložit do proměné (nejspíš pole charů) a potom je posílat s tím že funkce write pošle bajt po bajtu (tedy for cyklem)?Ruční prepisování bytů nemá smysl http://www.branah.com/ascii-converter by mohl případně dělat co chceme ale raději bych dal přednost ušetření datové komunikace snad for cyklem s polem charů.
Děkuji, zítra odpoledne se sem snad zase dostanu.
K zapisování jednotlivýchy bytů by
michal123ÚčastníkVyzkoušel jsem nový kód a už je to lepší. procesor už odpovídá. nedá se říct že by se synchronizoval hned ale to si treba jeste vyladím.
pozitivní odpoved v sériáku:
Podpis procesoru: 1E950F
Synchronizovan s cipem
Parametry ziskanyale co dál, ještě mi nejde do hlavy jak je to s „pocatecniAdresaX“ a „velikostStrankyX“ a mohu nahravana data zapsat takto?
programator.write(„100000000C945…0001FF“);
samozrejmě bych to pak nahradil za nějakou nahrávací smyčku.Mohl by jste mi případně poslat celý funkční program pro nahrání blink?
Abych odpověděl, dostal jsem se k osciloskopu keysight DSOX1102G, jen škoda že když jsem se s ním chtěl podávat na data v uartu tak napsal, že bych si ten doplněk musel koupit, což mě štve (má na to knoflík a stejně se to musí zvlášť platit)
michal123ÚčastníkDěkuji, já zkoušel nastavit smyčku s pohyblivou mezerou a pak vypisovat neuspechy se zastaveni když by byl úspěch ale nšjak se to nepovedlo, nic nezabralo, treba to bude tím že už je pozdě. Konečně už mám osciloskop i když s ním pěkně zápasím aby ukazoval co má.
už mám bjednaní samotné atmegy takže je plánuji pro další testování (až ohle bude fungovat) dát na desku a tím snad eliminovat tyhle různé chyby.
Pěkný večer
michal123Účastníkřádek 49 bude souviset s tím, že nastavujeme úroveň stejnosmšrného signále ale apsoň u mě je před nožičkou resetu sériově kondenzátor takže se tím jen (maximálně) prodlouží interval, tud´ž by bylo možné že naše sířka restartovacího pulzu není dostatečně široká pro dokonalý restart.
obě arduina mám na stejném napájení (z usb opravdu 0,5A), a k tomu paraelně zdroj 5V (abych mohl usb odpojit)
pořád to můj problém neřeší, tak doufám, že ráno moudřejší večera. (i když se sem pravdšpodobně dostanu až odpoledne)
michal123Účastníkna to jsem přišel už na začátku a ani mě to nenapadlo, ale to mám upravení již dloho, taky jste napsal při resetu (nepodstatné), že pinMode ( 7 , HIGH ) ; na řádku 49
ale to problém pořád neřeší. napadá mě uz snad jen čpatní doba čekíní ale i to jsem zkoušel
michal123Účastníkzapojení jsem kontroloval už mockrát, dokonce měřil jestli není někde špatný kontakt, ale signál de kam jít má.
michal123ÚčastníkUsing Port : COM2
Using Programmer : arduino
Overriding Baud Rate : 115200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
———– —- —– —– —- —— —— —- —— —– —– ———
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00Programmer Type : Arduino
Description : Arduino
Hardware Version: 3
Firmware Version: 4.4
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 usale je divné třea ty rachlost krystalu (je to chyba?)
michal123Účastníkprevodník FT231 a procesor ATMEGA328P-AU
michal123ÚčastníkZkoušel jsem snad všechno a spojení se nepodařilo. Kód se zasekne při čekání na odpověď na řádku 55.
Reset proběhl úspěšně, kody pro zadost o synchronizaci arduino poslalo taky ale odpověď žádná. Zkoušel jsem i jiré rychlosti, prohodit tx/rx jeslti nemám špatně ale už význě nevím co zkusit.Nějaká rada?
michal123ÚčastníkDěkuji, tohle funguje. Obrázek je jasný, už se těším až se večer dostanu k druhému arduinu.
michal123ÚčastníkDěkuji, bohůžel nemohu obrázek otevřít (pravděpodobně starý prohlížeč nebo blokovaná ip)
michal123ÚčastníkDěkuji, bodůžel si musím počkat do středy na další arduino, takže pak napíšu jak mi to jde.
michal123ÚčastníkDěkuji, tohle mi hodně pomohlo, už mi to začíná být jasné. Za nějaký kód budu také moc rád. Přeji pěkný víkend.
-
AutorPříspěvky