[elektro] OT: VB2008 soros vonal olvasás
hozso_001 at freemail.hu
hozso_001 at freemail.hu
Tue Nov 12 13:24:06 CET 2013
Nincs ezzel gond, ezt a részét csak elviekben kérdeztem.
Én momentán pollingolom adott időközönként, azonban
még mindig ott tartok, hogy az első vett karakter elveszik!
Üdv.: Horváth Zsolt
2013.11.11. 17:27 keltezéssel, Balla Zoltán írta:
> Feladó: <elight at gmail.hu>
>> A vett adatokat INTERRUPT-os kezeléssel,
>> vagy egy ASM, C vagy miegymás betéttel nem lehetne
>> egy körbufferbe az érkezés ritmusában bepakogatni?
>> Ez garantáltan nem erőforrás igényes dolog.
>>
>> http://prohardver.hu/tema/regebbi_informatikai_konyvek_assembly_hardver_programozas_temakban/hsz_1-50.html
>> http://www.antikvarium.hu/konyv/joe-campbell-c-tippek-trukkok-224480
>>
>>
>> Azután ha megtelt a buffer , a főprogram eseménykezelője
>> egyben kinyalja a megérkezett mondatot..
>>
> Nagyjából ez is történik normál esetben...
> Van a hardver soros port, annak megszakításkezelője, amihez NEM férsz hozzá(hivatalosan)! A driver
> pedig lekezeli a megszakítást, gyűjtve a memóriába a vett adatokat. Amint a meghatározott mennyiség
> bejött, jelzi a soros port komponens felé, amit a user programból használunk. Az a beállítástól
> függően 1...n byte után szintén eseménykezelőt hívhat meg, melyben tudjuk, hogy n darab byte
> biztosan van már a pufferban.
> De a kapcsolat a user program és a soros port komponens között többféle lehet, lehet pollingolás,
> eseménykezelés, és logikátlan használat is. Elvileg mindegyik működhet is, ha nincs benne nagy
> logikai bukfenc, de nem mindegy, hogy 100% erőforrást zabál fel közben a program, vagy csak alig
> alig valamit! Ez pedig a user szintű részben dől el, nem a soros port komponens rétegben és főleg
> nem a driverben....
>
> Zoli
>
> -----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list