Fórum témák

» Több friss téma
Fórum » PIC 16F84 baud rate
Lapozás: OK   1 / 1
(#) pzsolesz hozzászólása Ápr 17, 2008 /
 
Hello

A gond a kovetkezo,van egy pic16f84 es áramkor 4MHZ kirstaly frekvenciaval.nem tudom milyen baudrate el kommunik'l a pc vel.meg lehet ezt allapitani walami sofwerral ?
(#) watt válasza pzsolesz hozzászólására (») Ápr 17, 2008 /
 
(Mi köze van a kérdéshez a PIC-nek és hogy mekkora frekin megy? Ismert a forráskód? Mert akkor abból meg lehet állapítani simán!)

Amúgy szkóppal meg lehet állapítani.
Vagy rákötsz egy BrayTerminalt(vagy a vinfos terminalját, csak az ócska) és megnézed milyen beállításnál jön értelmes adat.
(#) pzsolesz válasza watt hozzászólására (») Ápr 17, 2008 /
 
nincs forraskod, es minden letezo baudratet kiprobaltam mar.sose jon walamire walo adat
(#) bbalazs_ válasza pzsolesz hozzászólására (») Ápr 17, 2008 /
 
OK, ismert-e esetleg, hogy egyaltalan minek kellene jonnie?
Vagy elo lehet-e idezni, hogy az jojjon, amit szeretnel?
Egyaltalan van valami adat a kimeneti vonalon?
A PIC vedett kodkiolvasas ellen?
A koztes atalakito nem lehet hibas?
(#) proba válasza pzsolesz hozzászólására (») Ápr 17, 2008 /
 
Minden baudrate váltás előtt leállítani utána ÚJRAINDÍTANI a picet mert csak így lehetsz biztos abban hogy nem darab csomagokat kapsz.
Lehetséges problémák még:
1:Ki mondta hogy rs232 vel kommunikál (a 16F84 ben szerintem nincs ilyen illetve csak szoftveresen lehet előállítani )
2:A jelszintek nem invertáltak?
3:Honnan tudod, hogy milyen adatokat kell kapnod?
Esetleg ,ha valami lehallgató akkor a vevőt megnézni ,Különböző adatokat küldeni neki,hátha hamarabb elárulja a sebességet.(vigyázz szereti a dupla ill fél sebességet is)
(#) trudnai válasza pzsolesz hozzászólására (») Ápr 24, 2008 /
 
Ha nincs forraskod hogyan probaltad ki a "minden letezo badurate"-et?

Na mindegy, a lenyeg, hogy mivel nincs az F84-nek USART modulja marad a bitbillegtetes. 9600 baud eseteben 104us egy bit idotartama (1/9600) megkozelitoleg -> 4MHz FOSC eseteben ugye a timer ill az utasitas ciklus alapja 4MHz/4 azaz 1MHz, azaz 1us...

Start bit felfuto (vagy lefuto) elet figyeled, attol fuggoen, hogy a negalt RS232 vagy a "normal" soros jelet veszed alapul. Innen timert beallitod a 104 felere (-104/2 = -52) figyelembe veve az egyeb overheadeket, start bit figyelest kikapcsolod kozben, majd mikor jon ez a megszakitas epp az elso bit kozepen leszel. Itt -104 -ekkel ujra feltoltod a timert (ja az ugye 1:1 eloosztoval mondanom sem kell). Ha igy csinalod akkor minden alkalommal mikor jon a timer int kapsz egy bitet, mikor megjott a 8., akkor leallitod a timer intet es csak a start bit intet engedelyezed ujra.

Ez tulajdonkepp egy state machine, semmi extra. Kozben "bermit" csinalhatsz, csak a timert nem hasznalhatod masra, bar az ISR overheadjebol fakadoan nem sok ideje marad masra a CPU-nak.

Az elmeleti max az az int vezerlod overheadjebol keletkezik majd, de 9600-at siman meg lehet valositani. Nem interruptosan is meg lehet ezt csinalni, ha kell a timer masra akkor nagyjabol az marad csak mint opcio. Annak talan kevesebb az overheadje, csak nehezebb mellette mas nem interruptos dolgot is csinalni.
(#) dcsabi válasza pzsolesz hozzászólására (») Ápr 24, 2008 /
 
Próbáld meg ezzel, itt az adatokat decimálisban kapod meg... ezt kimondottan mikrokontrolleres dolgokhoz találták ki... Próbálgasd végig a port-sebességeket, de szerintem csak 19200 alatt ( a progiban be lehet állítani)
A vételi oldalon emeld mindig egyel, (5-10s-onként) a venni kivánt byte-ok számát, ha ez nem passzol, általában nem jön össze a kommunikáció...! Az elején tök hülye voltam a pic és a pc-közti kommunikációhoz, ezzel el sem tudom hibázni...Végül is milyen adatokat vársz? ezek csak 0-255 ig számok fognak lenni, aztán el kell döntened mire valók...! Itt a komm progi...

RSCheck.exe
    
(#) dcsabi válasza pzsolesz hozzászólására (») Ápr 24, 2008 /
 
Az is lehet , hogy van egy két "Pass byte" és ha ezzel szólítod meg, csak akkor "válaszol"... ezer módja lehet, hogy mit írtak bele anno a pic-be. Végülis mi ez valójában ha nem titok?
(#) SzervízMacska válasza pzsolesz hozzászólására (») Máj 3, 2008 /
 
Ez már megint a Jocker Slot nyerőgép? Ha igen, akkor már szinte mindent leírtak a srácok ( azóta is a Te reakciódat várják ). Esetleg a soros port lehetséges hibájára gondolva próbáld ki egy másik pc-vel , hátha műk. Ne túl combosat válassz, hátha az öreg dos-os programmal pont azért nem indul el. Én pont ilyenek miatt tartok 1 P1-es laptopot. A PIC vonatkozásában először beégetném a tartalmat egy új tokba a próba előtt. Ha meg mindenképpen érdekel az adatáramlás sebessége, ülj le az adatlapjával, és utasításonként vissza tudod fordítani, vagy pc-vel > asm-be. Ezt követően már "csak" értelmezned kell a programot, és az órajel alapján kiszámolni. Mindezen dolgok elvégzése előtt még 1x átnézném kapcsolástechnikailag ( zárlat - szakadás - tápok - an. alkatrészek stb. ). Ha nyitsz ebben az ügyben még 10 topicot, akkor sem lesz 10x annyi megoldási javaslat, és az általad otthagyott segítő szándékú fórumtársak hiába várják az eredményt.
(#) Norberto válasza SzervízMacska hozzászólására (») Máj 3, 2008 /
 
Idézet:
„azóta is a Te reakciódat várják”


Naja... fél hónap alatt valami reakciót kéne mutatni az elhangzottakra...
Következő: »»   1 / 1
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem