Jak dostat do TXREGu decimalni hodnotu?? PIC16F690

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
Crifodo
Příspěvky: 14779
Registrován: 11 říj 2005, 00:00

#16 Příspěvek od Crifodo »

Andrea píše:To není na hlavu, to je aby to víc štípalo.

nebylas v minulém životě na vojně desátníkem, dejme tomu v Žatci?
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#17 Příspěvek od Andrea »

Crifodo píše:nebylas v minulém životě na vojně desátníkem, dejme tomu v Žatci?

Tak to nevím, ale v tomhle životě jsem jezdila do pionýrského tábora.
Uživatelský avatar
bluepatch
Příspěvky: 25
Registrován: 21 bře 2010, 00:00
Bydliště: Ledeč nad Sázavou/Brno
Kontaktovat uživatele:

#18 Příspěvek od bluepatch »

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;-)
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#19 Příspěvek od ZdenekHQ »

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[?
]
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#20 Příspěvek od Andrea »

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.
Uživatelský avatar
Niki31
Zablokován
Zablokován
Příspěvky: 131
Registrován: 05 črc 2008, 00:00

#21 Příspěvek od Niki31 »

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.
Přílohy
usbsend.jpg
(79.03 KiB) Staženo 88 x
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#22 Příspěvek od Andrea »

Niki31 píše:Tu je rutina ktoru pouzivam ja na blokovy prenos dat.Posiela 20byte + CRC byte.

To je zajímavý výpočet CRC, jaký to má generující polynom?
Uživatelský avatar
Niki31
Zablokován
Zablokován
Příspěvky: 131
Registrován: 05 črc 2008, 00:00

#23 Příspěvek od Niki31 »

je to len jednoduchy xor sucet vsetkych posielanych dat v bloku.Postupne robi XOR
posielaneho byte s poslednym vysledkom.Je to z databaze MICROCHIPu.


Este som mu tu chcel hodit priklad delenia na pic pomocou rotacii.
Keby mal vecsie cisla delit postupnym odcitanim tak by sa nacakal.
Přílohy
24x16.jpg
(77.56 KiB) Staženo 65 x
8x8.jpg
(46.31 KiB) Staženo 74 x
vysvetlivky.jpg
(82.86 KiB) Staženo 66 x
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#24 Příspěvek od Andrea »

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 není CRC.
Uživatelský avatar
Niki31
Zablokován
Zablokován
Příspěvky: 131
Registrován: 05 črc 2008, 00:00

#25 Příspěvek od Niki31 »

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.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#26 Příspěvek od ZdenekHQ »

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[?
]
Uživatelský avatar
bluepatch
Příspěvky: 25
Registrován: 21 bře 2010, 00:00
Bydliště: Ledeč nad Sázavou/Brno
Kontaktovat uživatele:

#27 Příspěvek od bluepatch »

Tak supr, dikes..porad se nejde nekdo kdo dokaze poradit a neremcat pri tom jak nekdo;-)
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“