vraci se to jako polozka ze selectu
Příspěvky odeslané z IP adresy 94.142.234.–
To Eatel : problem je v tom, ze eof pri nacteni posledniho radku jeste nenastal... ten nastane, az kdyz se pokusis nacist dalsi data ... a protoze promenne mas uz definovane mimo, tak se neprepisou a vypise se nezmeneny obsah z minuleho kola (pokud das deklaraci s1,s2 do cyklu tak ti to aspon vypise prazdne hodnoty)
To Midnight : std::map alias slovnik... ale teoreticky by se dala pouzit nejaka vhodna databaze... treba v praci si hrajeme s kyoto cabinetem (a pripadne i s kyoto tycoonem jako databazovym serverem)
ma to pomerne rychle vyhledavani a tak.. na slovnik by to stacilo
da se to delat i tak ze mas jednu globalni frontu (nebo v mainu a predas referenci primo do vlakna..) mutex bys mel mit idealne globalni nebo nejak jinak pristupnej pro vsechny vlakna... a pak uz jen do ty jedny fronty pridavas polozky .. treba struktury (tj. zda se mi divne mit frontu uvnitr struktury a pak tam jeste pridavat na konec nejakou dalsi a tak dale)
To Nostredemus : tak to kompiluj primo pres gcc -Wall -pedantic a spoustej v prikazovem radku.. tam to ze "skonci" vubec nevadi...
(+ za programy v linuxu, co si vynucujou interakci, bych autora zastrelil :D - se to pak neda nijak pouzit ve scriptech)
To Lokutus7323 : ukazatel je jen cislo (adresa umisteni dat v pameti)
a kdyz udelas:
char * neco = malloc( sizeof(char) * 25 );
tak priradis do neco adresu, kam mas ukladat data.
to muze byt napriklad 0x12345342
no a ted mas hned pote:
neco = "dotaz";
co to udela? je to pole znaku takze to veme ADRESU zadacku tech dat a tu adresu ti hodi do "neco"
tj. mas tam pak nejakou uplne jinou adresu, a tu alokovanou si definitivne ztratil protoze sis ji prepsal.
pokud chces do promenne zkopirovat nejaky retezed (ted je tam dulezity to "zkopirovat") tak musis pouzit napriklad strcpy
(ze string.h) nebo to zkopirovat sam.
schvalne si ty ukazatele vypis...
To Luke : zalezi jakej pascal... free pascal urcite umi i vlakna...
a dosovskej pascal budes muset zvladat vse naraz... (proste vsechno na neblokujici rezimy a mezi tim treba sleep)
tj. jeden cyklus, kterej kterej zjisti, jestli byla stisknuta klavesa a pokud ano tak zpracovat...
a pak prekresleni pokud se neco pohnulo,
a tak dale a tak dale
To Martin : nemusis mit spis neco takoveho: http://www.java2s.com/Tutorial/CSharp/0300__File-Directory-Stream/CreateStreamReaderfromaURL.htm ?
nahodis timer, rosvitis nahodne jednu ledku (treba po 500ms nebo i rychleji)
nahodis druhej timer (po cca 1ms) a testujes stisky tlacitek (mozna i celej port), zaroven je to dost rychle na obnovovani 7seg na tretim a casti 4. portu
v hlavnim programu pak jen kempis (a nebo tam muzes presunout to obnovovani displaye)
(nejnarocnejsi je asi udelat v assembleru ten generator nahody .. ale taky by to slo nejak zprasit - rotacni buffer par xoru, nandu, ... )
a co si googlil proboha?
http://lmgtfy.com/?q=jquery+unixtime+formating
no a ted si predstav ze kdyz mas pismena tak je ukladas do nejake promenne (tim ti vznika slovo) a kdyz narazis na neco co pismeno neni, tak to slovo zpracujes... tj. prvni a posledni pismeno srovnas.. a kdyz sou stejne prictes nekam jednicku - jako pocet slov ktere zacinaji a konci jednickou...
a pak znova
pracovat spolu to muze, nemuze to pracovat zaroven...
mas na vstupech multiplex? tak musis multiplexovat i nacitani ...
nejak vubec nechapu co mas s bufferem a uz vubec co myslis tim prerusenim? megy maj jen jeden procesor, takze at udelas cokoliv, v zivote nedokazes udelat nic, co by bezelo opravdu soubezne...
v jednom cyklu v main mas nacteni nejake hodnoty z ADC1 do bufferu
pak mas nacteni nejake hodnoty z ADC2 kdo vi kam :)
pak cekas 250ms - jestli todle neni "preruseni" tak uz nevim co je
proste se nikde nic neprerusuje.. kazdejch 250ms nactes neco do bufferu, pak na pwm a delay..
mimo to - pokud si nahodou prectes datasheet - AD prevod neco trva... cim dele tim kvalitnejsi je
mas pak postup, jak na nem ziskat jednu hodnotu z konkretniho kanalu (verze bez preruseni):
1) nastavis kanal
2) nastartujes konverzi
3) cekas dokud se konverze nedokonci
4) nactes data
pro dalsi kanal to same
tenhle postup nemuzes nijak ochcat - jedna konverze proste zabere urcitej cas a ty musis pockat nez je hotova aby si mohl ziskat spravnou hodnotu
To vasekk : tez by me zajimalo, co mohly byt ty ukoly pred tim... prvni zminenej je divne popsanej.. proc sakra neco vypocitavat s pismenama? Z programatorskyho ohledu je to jen o projeti po pismenech a hledani "minima" (pres ord()) (pripadne aspon prevest na stejnou velikost pismen - podminka a odecist konstantu)
druhy si uz rika o poradny pole a pak srovnavat
To Hanisss : ja to nesrovnavam s 1... ty to tak mas v kodu cos poslal :D
technicky vzato tam staci mit while ( ADCSRA & _BV(ADSC) ); pripadne nemusis pouzit to makro a mit tam (1<<ADSC)
pripadne pokud chces mit explicitni podminku tak to cely > 0
nemyslim ze vis k cemu to je :D
while ((ADCSRA & (1 << ADSC)) == 1){};
ma testovat bit "bezici konverze" a cekat dokud se sam nevynuluje (tj. konec konverze)
ted to sice jednou otestujes ale srovnavas s jednickou, ktera nemuze NIKDY v zivote vyjit - protoze (1 << ADSC) == 64
a at uz mas v ADCSRA cokoliv, tak muzou vyjit jen dve hodnoty -> 64 (konverze bezi) a 0 (konverze uz skoncila a nebo nebezi)
To Hanisss : mas jen jeden AD prevodnik... kanaly sou spojeny pres multiplex...
na to cekani by mel byt "while ((ADCSRA & (1 << ADSC)) == 1){};" nicmene jak sem naznacil je spatne podminka - tj. nikdy se nevykona a tudiz ani neceka na dokonceni konverze
no pokud to mas opravdu spravne
tak by teoreticky mohl vypadnout ten while - tj. necekal bys na konec konverze prvni, zmenil kanal na druhou, ale prvni stale bezi,
pak tam mas delay 250ms - tj. prvni konverze dobehne a nastavi se kanal na druhej.. nicmene zadna konverze se nenastartuje takze se nikdy k mereni ty dvojky nedostane.... no a dale se nastavi kanal 1, nastartuje konverze ....
a uz i vidim proc vypadne to while
To Anonymní uživatel : a co si takhle prohlidnout syntaxi pascalu, syntaxi C a udelat si to sam?
Je tu kazdej den 20 lidi co nejsou schopni udelat ani takhle jednoduchou vec (nekteri sou na tom jeste hur)
A je to samozrejme otravny tu cist furt to samy: tak sem tady - posadte se na prdel a udelejte mi to a to (+ prosim, smutne koukam, zivit se tim nechci - je to jen do skoly... bla bla bla)
(divim se ze nervak jeste drzi :D - ikdyz me to taky par let vydrzelo)
1) delphi nema crt ale tusim wincrt, dos ani nevim
2) v zivote se uz na nicem, zalozenym na Win NT (coz uz je vse), nedostanes primo na seriovej port - pekne musis otevrit, nastavit, pouzivat...
podle me by to bylo daleko jednodussi udelat klidne v perlu :D
(a ne, nehlasim se na predelavani - uz takhle mam prace nad hlavu)
To bohetik : zacni studovanim, jak funguje pocitac, pamet, adresace pameti, procesor...
a pak mimo jine muzes zacit nejakejma zakladama C - a hlavne programuj
(ale ne abys zacal nejakou kravinou... treba ze chces naprogramovat operacni system v jave nebo nejakou 3D hru jako je UT2003 a podobne nesmysly)
To user : no a? jestli rozumis programovani jako takovemu, tak vubec nezalezi na tom, jestli delas s php nebo javascriptem...
neni nic slozityho na tom, zavolat jednu funkci napriklad z jquery tj. $.ajax(...) a hodit ji kus kodu, co se ma vykonat pri uspechu
nevidim duvod proc by to melo brat neco jineho nez pin ADC1 ... do admux hazes 1 -> kanal 1 alias pin ADC1
u read_ADC1 hazes do ADMUX 0 -> nacitas pin ADC0
i to tam mas jasne napsany jako poznamku: "KANAL 1", ale rves signal na kanal 2
To Hanisss : ja mluvil o tematu "zakmity" tlacitek
na normalnich jednocipech toho stejne moc nevymyslis.. bud kruhovej buffer a propocitavat prumer...
zaklad je vyladit hlavne zapojeni - cim lepsi - tim mene veci, co se musi filtrovat
takova prasarna ze ani neni poznat, co k cemu patri...
co si to nejprve nejak rozumne odsazovat?
obdivuju taky tvoji predstavu, ze to pole zadane na zacatku, nemusis seradit - asi unikla pointa insert sortu... (tj. ze by to serazene pole nemuselo byt serazene?)
// atmega88
DDRD = 0x68; // OC0A OC0B OC2B jako vystupy
DDRB = 0x08; // OC2A jako vystup
PORTD = 255; // na vstupech hodit pull upy (na vystupech log 1)
PORTB = 255;
PORTC = 255;
TCCR0A = 0xA3; // oba kanaly na fast PWM
TCCR0B = 0x01; // prescaler na 1 (zaroven je to i start T0)
TCCR2A = 0xA3; // oba kanaly na fast PWM
TCCR2B = 0x01; // prescaler na 1 (zaroven je to i start T2)
// nastaveni stridy pro jednotlive kanaly
OCR0A = 0;
OCR0B = 100;
OCR2A = 150;
OCR2B = 200;
Vesmes musis:
nastavit odpovidajici pin jako vystup,
nastavit rezim casovace pro ten pin,
nastartovat casovac,
nastavit hodnotu stridy ...
To VFiser : opravdu si nejsem jist, zda se neco takoveho da pochopit z knizky... jak se rikava: zkusenost je nepredatelna - musi se zazit - a programovani je hodne i o zkusenosti
pokud nechces vyslovene jet stylem brutal force, tak zacni prolejzat materialy o algoritmech a algoritmizaci - mohlo by to trochu pomoci pochopit. Kazdopadne nema smysl hned ze zacatku naklusat na projekt, kterej je rozsahem mimo schopnosti (tj. zacit napriklad programovanim 3D hry :D)
budes muset najit seznam algoritmu a projit vlastnosti.. ale nejsem si jist, zda sem se nekdy setkal s necim jinym nez 1 N N*N log(N) N^N e^N
Edit: tak koukam na binarni strom s vyvazovanim a udajne pokud je povoleno mazani prvku, zhorsi se jeho rychlost na SQRT(N) i pro insert a search
http://hci.iwr.uni-heidelberg.de/MIP/Teaching/alda/handouts-17-balanced-st.pdf
treba AT91SAM7X512 ma 128kB ram..
vetsi pak uz byvaji spis DRAM a podobne
ja pouzivam http://datasheetcatalog.com/
a na nakup tme/gme pripadne by se dlo pouzit farnell
u at mega je jen malo kousku s externi pameti.. ale jsou .. (mega162)
na zobrazovani by byla lepsi takzvana dual port pamet.. ale neni zrovna snadne je sehnat
mozna by bylo jednodussi pouzit nejaky ARM .. jsou rychly, maji pomerne slusnou pamet a da se na ne nahodit leccos
no zasadni problem je, ze to vnimas jen jako "site" ... ano, site sou obvykle asynchronni, ale podle start a stop bitu v tom vidim defautne rozhrani (RS232, ... )
jde o zpusob komunikace a ne jen na siti, ale vlastne s libovolnym zarizenim pres urcite rozhrani...
pak poznamka: pouzivas takovy odborny vyrazy - sice nevim jestli se tak vyjadrujes normalne v tomto predmetu, ale jen podle pouziteho slovniku je jasny, ze to je nekde vytazeny z netu - coz by ani tak nevadilo, jako spis ze se te muzou u maturity zeptat na vyznam tech terminu :D
(samozrejme v domaci praci by bylo hned jasny ze to je odnekud vykradeny)
asi FOR (http://www.robvanderwoude.com/for.php)