No jo , kaslete na to.. je pro vas asi moc easy na to odpovidat..udelam to v cecku, kde sem si jistej v kramflecich a rozdelim si to pomoci stringu.. vic nez pomoci se mi dostalo zkusenosti, ze je lepsi drzet hubu a jit delat popelare, nebo nevim jak si to predstavujete.. ze tu kazdyho co se chce neco priucit poslete mimo reci do prdele? Myslim ze tohle forum slouzi k tomu aby lidem pomahalo a ne aby je privedlo k myslence, ze kdyz to neumis tak se na to vyser..pokavad se tu na neco ptam, tak sem se nejdriv zeptal kamarada googla, kterej me nikdy do haje neposle a teprve kdyz to od nej nepochopim, zeptam se lidi..ale ouha, chyba..peace;-)
Já nevím, co víc chceš. Rutiny na dělení pomocí odečítání jsou na webu, já je nemám, bo používám ATMELy.
Číslo 575 jako znak :
Podělím deseti, dostanu 57 a zbytek 5.
K 5 přičtu #'0' (0x30),abych dostal znak pět, a uložím.
57 podělím 10, dostanu 5 a zbytek 7. Opět úprava 7 na znak a uložení.
Pětku opět podělím 10,dostanu 0 a zbytek 5 . Opět úprava na znak a uložení.
Nulu dál nedělím. Celý to běží samozřejmě jako smyčka, nikoliv takto otrocky.
Pošlu v opačném pořadí a je to.
Pro moje oslovení klidně použijte jméno Zdeněk 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[?]
bluepatch píše:.. vic nez pomoci se mi dostalo zkusenosti, ze je lepsi drzet hubu a jit delat popelare, nebo nevim jak si to predstavujete.. ze tu kazdyho co se chce neco priucit poslete mimo reci do prdele?
Nějak jsem si nevšimla, že by tě tu někdo posílal do tam co jsi napsal. Tomu, že se to tu krapet zvrhlo do OT, se nemůžeš divit, když tu provokuješ dotazy, na které by ti ten tvůj velký kámoš Google vysypal čtení na půl dne.
Ak pouzivas na PC ovladace VCP alebo D2xx od firmy FTDI tak mozes
posielat z PIC do PC co chces aj tak sa ti vrati vzdy znak alebo retazec.
Pretoze navratova hodnota bytovych funkcii je CHAR a blokovych je STRING.
staci pouzit klasicke konverzne funkcie prog. jazyka na prevod znaku spet na cislo. (napr. cislo na znak: x=char(cislo) ; znak na cislo: x=asc(znak) )
Samozrejme pri posielani z pc do PIC treba cislo konvertovat na znak.
Tu je rutina ktoru pouzivam ja na blokovy prenos dat.Posiela 20byte + CRC byte. Teba ale zaujima iba navestie USBSEND.Pred volanim vlozis data do registra USBDATATX a zavolas call USBSEND.
Vo W registri ti vrati 1 ak bol zapis uspesny , inak 0.
V PC treba znak konvertovat na cislo.
Este dodam cisla netreba delit ani inak upravovat.Cislo do 255 dec alebo FFh sa posiela ako jeden byte.Vecsie cislo je vzdy reprezentovane ako postupnost x byte. napr 1000 = 03h a E8h takze posles za sebou 2 byte.
Niki31 píše:je to len jednoduchy xor sucet vsetkych posielanych dat v bloku.Postupne robi XOR posielaneho byte s poslednym vysledkom.Je to z databaze MICROCHIPu.
Tak to je uvedene aj v niektorej knihe Programovani mikrokontroleru.
jako "Nejjednodussi ciklicka redutancni kontrola"
Ja som to len prevzal,nakoniec je to uplne jedno ci je to prava crc alebo nie.Na kontrolu ,ci boli prenesene data v poriadku to bohate staci.
Ono se to často v jednoduchých aplikacích míchá, kontrolní součet či podobný algoritmus založený pouze na bázi add a xor operací se nazývá CRC, i když je to samozřejmě špatně.
Pro moje oslovení klidně použijte jméno Zdeněk 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[?]