d2jsp
Log InRegister
d2jsp Forums > Off-Topic > International > Magyar > Gepesz Es Villamosmernokok
Prev1161718
Add Reply New Topic New Poll
Member
Posts: 35,964
Joined: Dec 27 2007
Gold: 0.00
Oct 7 2013 04:06am
Quote (jarabekg @ Oct 7 2013 03:29am)
ez meg nekem is menne lel

pedig ebbol a postbol egy szot sem ertettem 8D


reméltem, hogy 3 év mechatronikával fel tudsz építeni kapcsolatot soros kábellel mikrokontroller és gép között :D én ennek is örülök már, mert soha nem csináltam ilyet és ~fél óra alatt sikerült összehozni a jelenlegi állapotot, hogy tudok kapcsolgatni ledeket realtime
Member
Posts: 42,999
Joined: Jul 16 2006
Gold: 1.00
Oct 7 2013 05:19am
Quote (xGurke @ 7 Oct 2013 12:06)
reméltem, hogy 3 év mechatronikával fel tudsz építeni kapcsolatot soros kábellel mikrokontroller és gép között :D én ennek is örülök már, mert soha nem csináltam ilyet és ~fél óra alatt sikerült összehozni a jelenlegi állapotot, hogy tudok kapcsolgatni ledeket realtime


De azért az én hozzászólásomat nem értette, szóval nem tud.

Az nem kapcsolat, hogy kiküldi és folyamatosan várja a parancsokat. Azért illene tudni, hogy mi az az interrupt. ^^

Quote (xGurke @ 7 Oct 2013 12:04)
az a bajom, hogy beírom neki, hogy lol, akkor visszaküldi, hogy lol. de ha 3 karakternél többet írok neki, akkor valamiért meghal
de tuti a delayezést basztam el, majd ma este megnézem


megszakításokkal csinálod, vagy folyamatosan olvasod ki?
A karaktereket egyszerre küldöd?

Ezt elegánsan úgy kellene megoldani, hogy az RX complete flag-re beállítasz egy megszakítást (interruptot), és ott csak annyit csinálsz, hogy egy FIFO-ba betöltöd az eredményét, és csak a megszakításból már visszatérve állsz neki feldolgozni, így biztosan fogadni tudsz szinte bármennyi adatot. Itt a FIFO mérete lesz a korlátozó tényező, de ha a feldolgozásod ideje kisebb, mint a bejövő adatok sebessége, akkor gyakorlatilag végtelen.

A BAUDratet is csökkentheted, ha tudod, hogy nem kell sok adat, akkor mi a 9600 8N1 -módot szoktuk használni (a 16MHz-s oszcillátorokkal legalábbis) (9600 b/s - 8bites adatcsomag - Nincs paritás bit - 1 stopbit), de ezt a µProcesszor adatlapján nézd meg, hogy az adott oszcillátor frekvencia alapján melyik az ami jó neked, mert nem mind lesz az.

Ha a visszaküldés folyamatos, akkor érdemes figyelni hozzá a TX complete flaget, és figyelni, hogy kész van-e az előző mire a következőt küldöd. Általában ezt úgy elegáns megoldani, hogy valahol figyeled hogy a küldő buffer üres-e, és ha igen, akkor elindítod "kézzel" az első küldését a továbbiakat, meg a TX complete flagre kiváltott interrupttal.


A PIC-et annyira nem vágom, szal nézz utána, hogy milyen szolgáltatásokat nyújt ezügyben az adott µProcesszor. Az atmegán például duplán bufferelt az UART.

This post was edited by CyberPunk666 on Oct 7 2013 05:20am
Member
Posts: 35,964
Joined: Dec 27 2007
Gold: 0.00
Oct 7 2013 06:30am
Quote (CyberPunk666 @ Oct 7 2013 11:19am)
De azért az én hozzászólásomat nem értette, szóval nem tud.

Az nem kapcsolat, hogy kiküldi és folyamatosan várja a parancsokat. Azért illene tudni, hogy mi az az interrupt. ^^



megszakításokkal csinálod, vagy folyamatosan olvasod ki?
A karaktereket egyszerre küldöd?

Ezt elegánsan úgy kellene megoldani, hogy az RX complete flag-re beállítasz egy megszakítást (interruptot), és ott csak annyit csinálsz, hogy egy FIFO-ba betöltöd az eredményét, és csak a megszakításból már visszatérve állsz neki feldolgozni, így biztosan fogadni tudsz szinte bármennyi adatot. Itt a FIFO mérete lesz a korlátozó tényező, de ha a feldolgozásod ideje kisebb, mint a bejövő adatok sebessége, akkor gyakorlatilag végtelen.

A BAUDratet is csökkentheted, ha tudod, hogy nem kell sok adat, akkor mi a 9600 8N1 -módot szoktuk használni (a 16MHz-s oszcillátorokkal legalábbis) (9600 b/s - 8bites adatcsomag - Nincs paritás bit - 1 stopbit), de ezt a µProcesszor adatlapján nézd meg, hogy az adott oszcillátor frekvencia alapján melyik az ami jó neked, mert nem mind lesz az.

Ha a visszaküldés folyamatos, akkor érdemes figyelni hozzá a TX complete flaget, és figyelni, hogy kész van-e az előző mire a következőt küldöd. Általában ezt úgy elegáns megoldani, hogy valahol figyeled hogy a küldő buffer üres-e, és ha igen, akkor elindítod "kézzel" az első küldését a továbbiakat, meg a TX complete flagre kiváltott interrupttal.


A PIC-et annyira nem vágom, szal nézz utána, hogy milyen szolgáltatásokat nyújt ezügyben az adott µProcesszor. Az atmegán például duplán bufferelt az UART.


ty a dolgokért, utánanézek mindenképp aztán majd írom, hogy mit basztam el
Member
Posts: 8,400
Joined: Jul 31 2013
Gold: 95.00
Oct 12 2013 07:06pm
blogolj a probalkozasaidrol, meg hogy, hogy allsz vele ))
Go Back To Magyar Topic List
Prev1161718
Add Reply New Topic New Poll