Lập trình giao tiếp RS232

download Lập trình giao tiếp RS232

of 15

Transcript of Lập trình giao tiếp RS232

  • 7/29/2019 Lp trnh giao tip RS232

    1/15

    Phin bn chvn bn

    y l b nh cache http://www.dientuvietnam.net/forums/tin-hoc-ung-dung-73/serial-port-lap-trinh-giao-tiep-noi-tiep-963/ ca Google. y l nh chp nhanh ca cc trangc hin th vo 21 Thng 2 2013 08:56:32 GMT. Trang hin ti c th thay i trong thi gian chi. Tm hiu thmMo: tm nhanh cm t tm kim ca bn trn trang ny, nhn Ctrl+F hoc -F (Mac) v s dng thanh tm.

    Help

    Ghi Nh?

    Din nHi/pLchCommunity

    Groups

    AlbumsThnh vin

    Forum Actions

    nh Du cChc nngView Site Leaders

    Bi mi

    Submit Query

    Kim Chi Tit

    Din nLp Trnh v M PhngTin hc ng dngSerial Port - lp trnh giao tip ni tip

    Nu y l ln u tin n vi in T Vit Nam, bn c thc phn Hi p bng cch nhn vo lin kt trn. C th bn cn ng ktrc khi c th

    gi bi . bt u xem bi vit, chn din n bn mun thm di y.

    1.

    User Tag List

    Trang 1/11123 ... cui

    Jump to page:

    kt qu t 1 ti 10 trn 106

    575Cm n

    TopAll

    This Page

    ti: Serial Port - lp trnh giao tip ni tipLinkBack

    LinkBack URL

    About LinkBacks

    Ghi nh& Chia sDigg this Thread!

    Add Thread to del.icio.usBookmark in TechnoratiTweet this thread

    l Port - lp trnh giao ti p n i ti p http://webcache.googleusercontent.com/search?q=cache:_fFITr

    5 3/3/2013

  • 7/29/2019 Lp trnh giao tip RS232

    2/15

    Sdng ty chn

    Xem ch int theo di

    14-12-05 11:18 #1

    ngohaibac

    Moderator

    Tham gia

    Sep 2005Ni C Ng

    BKHN

    Bi vit596

    Mentioned0 Post(s)

    Tagged

    0 Thread(s)

    Serial Port - lp trnh giao tip ni tip

    Do mnh vit bi trong "Vit chng trnh = VB giao tip my tnh c l l khng tng qut cho lm. Ti xin copy tt c cc bi ca ti vo boxny cho tng qut hn gii thiu v giao tip ni tip qua Serial Port nh RS-232, RS-485. Hi vng l cho cc bn c kin thc y v lptrnh ni tip ni chung v qua RS232, RS-485 ni ring.

    CH TNG T:

    Vo Ra D Liu Vi Serial Port Trong C# .Net FrameworkHHD Free Serial Port Monitor - Cc cool gim st cng COMTi liu v lp trnh giao tip serial v parallelGiao tip RS232 s dng lp Serial

    Chia sShare this post on

    Digg

    Del.icio.us

    Technorati

    Twitterhp1812, ZEN, bonando21 v 74 ngi na cm n ni dung ny.

    Tel. +84-(0) - 915 560 511SmartGrid Technology CompanyEmail : ngohaibac AT gmail DOT com

    1.

    14-12-05 11:19 #2

    ngohaibac

    Moderator

    Tham gia

    Sep 2005Ni C Ng

    BKHNBi vit

    596

    Mentioned0 Post(s)

    Tagged

    0 Thread(s)

    Gii thiu giao tip cng com - chapter1

    Nh ha. Nay ti xin gii thiu cho cc bn chi tit cc thng tin, cch lp trnh truyn thng ni tip dng chun RS-232 v RS-485.

    2.

    l Port - lp trnh giao ti p n i ti p http://webcache.googleusercontent.com/search?q=cache:_fFITr

    5 3/3/2013

  • 7/29/2019 Lp trnh giao tip RS232

    3/15

    C th c nhiu bn bit ri hoc l cha bit nhng ti mong rng s b sung cho cc bn mt siu cbn.

    Tt c mi vn ti dch t cun Serial_complete ca Jan Axelson v thc t lp trnh truyn thng giao tip vi vdk AT89C51( mt loi vi iukhin n gin). Hi vng cc vn ti a ra s lm cc bn mt phn no hiu bit thm v cng thng dng ny cng Comm(communicactions).

    Do thi gian khng c nhiu va lm va n thi nn mi ngy ti s up ln tng vn mt. Mong cc bn gp thm. Ti lm ci ny khng c qua mt cc cao th, mong cc cao th b qu cho.Cc bn c th c thm nhiu v d khi vo trang web http://www.lvr.com

    1. Thnht ti xin gii thiu mt cch khi qut v cc cng v c bit l cng RS-232 v RS-485.

    Trc ht ti xin nh ngha lin kt: l dng dy dn hoc trung gian khc nh cng ngh khng dy,.. kt ni cc my tnh hoc l kt ni ccthit b kt ni qua PC. Khong cch c th rt ngn vi cm n hng ngn km, thi gian c th 1 giy c khi n hng 1 tun. Cc im kt nivo mng c th l 2 hoc nhiu im.

    c im so snh gia cc cng nay qun khng mang bng so snh, mai mang sau)

    Chun RS-232 ch c th kt ni nhiu nht 2 thit b, vi khong cch di nht l 50-100 feet( 12,7->25,4 m), tc 20k bit/sChun RS-485 c th kt ni ti a l 32 thit b, khong cch di hn ti a l 4000feet( 1016 m-> hn 1km) gp 40 ln RS-232. Tc cao 10 mega bit/s. C hai chun ny c th c sn trong mainboard khi mua hoc l c th lp thm rt d dng, gi mua rt r so vi ccgiao din khc.Chun RS-232 dng rng ri, mua d dng, n gin khi lp thm vi nhiu cch thit lp. Cn RS-485 dng vi khongcch ln hn, tc cao hn, nhiu u ni hn.Chun IrDA( Inared Data Asociation) dng cc UART ging nhau v nh dng d liu ging nh RS-232 nhng c thm b gii m. Dliu truyn t ngun pht hng ngoi n cc thit b khng giy. Giao din ny rt l c ch cho cc lin kt ngt, gia cc thit b mkhng th c cp ni gia( c th l cho p).Chun MIDI( Musical instrument digital interface): giao din s ha cc dng c m nhc. Chun ny dng dng 5mA, tc 31,5k bit/s

    Microwire, I2C,SPI l cc chun ni tip ng b, dng trong cc lin kt ngn. Nhiu vdk c 1 hoc nhiu chun ny.USB( Universial Sial Bus) v Fireware( chun IEEE-1384) l chun mi, tc cao, thng minh kt ni vi PC v cc PC khc, thit bngoi vi. USB ra i dn thay th chun RS-232 v chun my in Centronic nh l mt la chn mi hin i cho cc TB ngoi vi.Fireware tc c truyn d liu nhanh hn nhiu v c dng truyn nhc ting, nhc hnh, hoc cc block dung lng ln.Ethernet l cc chun mng gn gi thng dng trong nhiu mng. Tc cao nhng yu cu phn cng v phn mm kh phc tp, thn nhiu so vi cc chun khc.ng hnh vi chun ni tip l chun song song, c nhiu ng d liu. V song song nn chuyn nhiu bit cng mt lc, rt nhanh.Thng c mt lot cc ng d liu -> d liu truyn i theo mt chiu mt thi im. Nu dng ni khong cch xa th tin muaqu l t cho vic thc hnh ca sinh vin cng nh cc ng dng trong cng nghip, ..Chun my in Cenntronics(IEEE-1284). Mi pc u c chun ny. Tc truyn cao qua cp. c ng dng vi cc my qut, cc thitb lu tr mrng nha cng,.. v nhiu thit b ngoi vi c bit khc. Chun IEEE-488 l chun song song dng trong cc ng dngiu khin v trong m nhc.

    Ni thm v cng RS-232 v RS-485:

    Cng ni tip l mt phn ca PC ngay khi n mi ra i. Vi mi cng Com hoc Comm( communications) trong PC l mt cng ni tip khngng bc iu khin bi ccUART. Mi cng Com c th c giao din RS-232, RS 485 hoc cng c th dnh cho mt modem tronghoc thit b khc. Mi PC c th c cc dng khc nhau ca cc cng ni tip nh USB, Firewire, v I2C nhng chng dng cc giao thc khcnhau v yu cu cc thnh phn khc nhau.

    Giao din ni tip mi nht l USB v Firewire vi cc tnh nng: nhanh, v nhu li ch khc na. Thc t th nn dng USB trong vic thay thcng RS-232 bt k ni no c thc trong cc thit k mi, ng dng mi. V vi nhu thit b ngoi vi, giao din mi ny li rt l ph hp.

    Nhng RS 232 v cc giao din ging n vn s tip tc ph bin trong cc ng dng nh l h thng iu khin, iu hnh. Nhng giao dinny khng t , d dng lp trnh, cho php cp di,v d dng kt hp vi cc thit b vi iu khin r tin, cc my tnh c. Nh cng USB c s dng rng ri, cc b chuyn i sn sng chuyn USB thnh cng RS-232 hoc RS 285. B chuyn i s kt ni vi cng USBca PC v chuyn i gia USB v cc giao din khc. Thit lp rt n gin thm mt cng RS-232 hoc RS 485 vo bt k h thng no.

    Last edited by ngohaibac; 04-05-07 at 01:00.

    Chia sShare this post on

    Digg

    Del.icio.us

    Technorati

    Twitterhp1812, thechinhcdt, sonkhadt v 47 ngi na cm n ni dung ny.

    l Port - lp trnh giao ti p n i ti p http://webcache.googleusercontent.com/search?q=cache:_fFITr

    5 3/3/2013

  • 7/29/2019 Lp trnh giao tip RS232

    4/15

    Tel. +84-(0) - 915 560 511

    SmartGrid Technology CompanyEmail : ngohaibac AT gmail DOT com

    14-12-05 11:22 #3

    ngohaibac

    Moderator

    Tham giaSep 2005

    Ni C NgBKHN

    Bi vit596

    Mentioned0 Post(s)

    Tagged0 Thread(s)

    Uart

    Tip theo ti xin gii thiu cho cc bn UART:

    Trong nhng my tnh IBM PC u tin, UART iu khin cng ni tip l 8250, tc ln nht l 57.600 bit /giy. Cc UART t thi gian ny c tip tc ci thin thm nhiu c im mi nh thm bm, tc tng ln. Ngy nay, UART trong PC l mt phn khng th thiu cachp a chc nng bao gm mt hay nhiu UART h tr cng song song, thit b lu tr v cc b phn h thng khc.

    UART chuyn i gia d liu ni tp v song song. Mt chiu, UART chuyn i d liu song song bus h thng ra d liu ni tip truyn i.Mt chiu khc, UART chuyn i d liu nhn c dng d liu ni tip thnh dng d liu song song cho CPU c thc vo bus h thng.

    UART ca PC h trc hai kiu giao tip l giao tip ng thi v khng giao tip ng thi. Giao tip ng thi tc l UART c th gi v nhnd liu vo cng mt thi im. Cn giao tip khng ng thi( khng kp) l ch c mt thit b c th chuyn d liu vo mt thi im, vi tnhiu iu khin hoc m s quyt nh bn no c th truyn d liu. Giao tip khng ng thi c thc hin khi m c 2 chiu chia s mtng dn hoc nu c 2 ng nhng c 2 thit b ch giao tip qua mt ng cng mt thi im.Thm vo ng d liu, UART h trbt tay chun RS232 v tn hiu iu khin nh RTS, CTS, DTR, DCR, RT v CD.

    thun tin, cc chng trnh gi v nhn d liu trong nh dng khng ng bn gin hn nhng g bn tng. PC v nhiu vi x l khcc mt b phn gi l UART( universal asynchronous receiver/transmitter: truyn /nhn khng ng b chung) v th c th vn dng phn lnnhng chi tit truyn v nhn d liu.

    Trong PC, hiu hnh v ngn ng lp trnh h trcho lp trnh lin kt ni tip m khng cn phi hiu r chi tit cu trc UART . mlinkt, ng dng la chn mt tn s d liu hoc l thit lp khc hoc cho php truyn thng ti cc cng. gi 1 byte, ng dng ghi byte nyvo bm truyn ca cng c la chn, v UART gi d liu ny, tng bt mt, trong nh dng yu cu, thm bt Start, bt Stop, bt chn lkhi cn. Trong mt cch n gin, byte nhn c tng c lu tr trong bm. UART cso th dng nhanh mt ngt bo cho CPU vcc ng dng bit d liu ang nhn c v cc s kin khc.

    Mt vi vi iu khin khng bao gm UART, v thnh thong bn cn nhiu hn cc UART m vi x l c. Trong trng hp ny, c 2 la chn:thm UART ngoi, hoc m phng UART trong m chng trnh. Basic Stamp ca Parallax l mt v d ca chip vi mt UART b sung trong mchung trnh.UART l mt thit bn gin h trtt c hai kiu truyn thng ng b v khng ng b.

    Last edited by ngohaibac; 24-12-05 at 11:55.

    Chia s

    Share this post onDigg

    Del.icio.us

    Technorati

    Twitterhp1812, bunyuki, Hung_qn v 39 ngi na cm n ni dung ny.

    Tel. +84-(0) - 915 560 511SmartGrid Technology CompanyEmail : ngohaibac AT gmail DOT com

    3.

    14-12-05 11:25 #4

    ngohaibac

    4.

    l Port - lp trnh giao ti p n i ti p http://webcache.googleusercontent.com/search?q=cache:_fFITr

    5 3/3/2013

  • 7/29/2019 Lp trnh giao tip RS232

    5/15

    Moderator

    Tham gia

    Sep 2005Ni C Ng

    BKHN

    Bi vit596

    Mentioned

    0 Post(s)Tagged

    0 Thread(s)

    nh dng v giao thc ng b v khng ng b

    nh dng v giao thc Format v Protocol):

    My tnh trong mt mt xch ni tip c th l nhiu dng khc nhau, nhng tt c chng phi cng ng mt tho thun v qui tc cho dliu c th trao i gia chng. S tho thun ny phi chc chn rng mi s chuyn d liu phi tm thy c ni n cn n, v mi my tnhphi hiu thng ip gi ti n.

    Di y gii thiu v cch nh dng d liu v giao thc dng trong truyn thng ni tip. Ch yu l nh dng khng ng b dng 2 chunthng dng l RS-232 v RS-485.

    Gi dliu ni tip

    Trong mt lin kt ni tip, ni gi d liu s gi tng bit mt mi thi im ni tip nhau. Mt lin kt ni tip ch c 2 thit b th phi cng dn dnh cho mi chiu truyn hoc l n ch c 1 ng dn c chia s bi c 2 thit b vi tho thun ca 2 thit b ny. Khi m c 3hoc nhiu thit b, tt c cc thit b ny thng dng chung mt ng dn, v giao thc mng quyt nh xem thit b no c quyn truynnhn d liu.

    Mt tn hiu i hi bi tt c mi lin kt ni tip l tn hiu xung ng h, hoc l c s tham kho v thi gian iu khin ng truyn dliu. Ni truyn v ni nhn dng xung ng h quyt nh khi no gi v khi no c mi bt. C hai dng nh dng d liu l ng b vkhng ng b, v mi nh dng ny dng cc dng xung ng h khc nhau.

    nh dng ng b:

    Trong truyn ng b, mi thit b dng mt xung ng hc pht ra bi mt thit b hoc t mt ngun xung ngoi. Xung ng h c th cmt tn s cnh hoc cc th cht ti nhng khong thi gian khng u. Mi bt truyn i c ng b vi ng h. Ni cch khc, mi btc truyn i l da vo s chuyn i ca xung( nh tng hoc gim ca sng xung). Ni nhn dng s chuyn i xung quyt nh khi

    no c mi bt truyn ti. T hnh v cc bn cng c th thy l ni truyn s truyn cc bit khi m nhn thy s chuyn sn xung t caoxung thp, v ni nhn th ngc li pht hin khi no c s chuyn sn xung t thp ln cao th c cc bit.Chi tit chnh xc ca giao thcny c th bin i khc i. V d, ni nhn c th cht d liu nhn trong sn xung tng hoc gim, hoc l pht hin mc logic mc caohoc thp. nh dng ng b dng cc cch khc nhau bt u v kt thc vic truyn d liu, bao gm bt Start v bt Stop v tn hiu lachn chp.

    nh dng khng ng b:

    Trong truyn khng ng b, lin kt khng bao gm ng xung ng h, bi v mi im u cui ca lin kt c xung ng h cho ringtng ci. Mi im s cn phi ng cng mt tn s ca ng h v mi ng h ch khc nhau mt vi %. Mi byte truyn i bao gm btStart ng bng h v mt hoc nhiu bt Stop cho tn hiu kt thc vic truyn trong mi mt tc truyn i. Cng RS-232 trong PCdng nh dng khoong ng b giao tip vi modems(thit b m ho, gii m d liu) v cc thit b khc. D RS-232 c th truyn d liung b nhng lin kt khng ng b vn c dng ph bin hn. Phn ln lin kt RS-485 dng giao tip khng ng b.

    Truyn khng ng b c th dng mt trong vi cch nh dng ph bin. Ph bin nht l kiu 8-N-1, ni truyn s truyn mi byte d liumt bt Start, tip theo l 8 bt d liu bt u vi bt 0(bt c trng s nh nht Least Sgnificant Bit) v kt thc vi 1 bt Stop.

    Cc bn c th xem hnh v hiu thm v cch nh dng ny.

    Ch N trong nh dng 8-N-1 ch rng truyn d liu khng dng bt chn l. Mt dng nh dng khc l bao gm mt bt chn l ging nh dngn gin ca kim sot li.

    Khi s cc bit 1 trong byte l chn th bt Odd Parity Bit = 1 v bt l = 0,..Mt s dng khc khng ph bin l dng mt s khc nhau ca s bt d liu. Rt nhiu cng ni tip h trmi ni t 5 ->8 bt d liu, cngvi bt chn l.

    Tc s bt l s bt mt giy c truyn i hoc l nhn v trong mt n v thi gian. Tc bus l s cc s kin hnh xy ra hoc truyn dliu trn giy. Hai gi tr ny thng ng nht vi nhau trong nhiu lin kt. Trong ng dy in thoi, mdem tc cao m ho nhiu bttrong mi chu k d liu v th tc bus thc t nh hn tc bit( bit rate).

    Mi bt cn thit cho truyn mt gi tr t bt Start n bt Stop gi l mt Word. Mi bt trong dng Word gi l mt Character. Trong vi lin kt,cc bt l k t vn bn( dng ch hoc s), trong khi cc dng k t khc li l gi tr nh phn. Thi gian truyn cc cc k t trong mt giy bng

    l Port - lp trnh giao ti p n i ti p http://webcache.googleusercontent.com/search?q=cache:_fFITr

    5 3/3/2013

  • 7/29/2019 Lp trnh giao tip RS232

    6/15

    vi tng thi gian truyn tng bt trong word cng li. Thm bt start v bt Stop lm tng thi gian truyn mi byte ln 25% ( v c 10 bt cntruyn trong khi ch dng c 8 bt). Vi nh dng 8-N-1, mt byte truyn vi thi gian bng 1/10 tn s bus: do 9600 bt/s truyn 960 byte/s.

    Nu ni nhn i hi phi c mt thi gian kim tra d liu nhn uc, ni truyn s ko di rng ca bt Stop ra 1,5 hoc 2 bt.

    Hm sau ti s gii thiu cho cc bn bi v cc nh dng truyn d liu kiu nh phn v vn bn, cch thc chng mt d liu.

    Last edited by ngohaibac; 04-05-07 at 01:02.

    Chia sShare this post on

    DiggDel.icio.us

    Technorati

    TwitterBKBamboo, gachoi, buianhoang v 28 ngi na cm n ni dung ny.

    Tel. +84-(0) - 915 560 511SmartGrid Technology CompanyEmail : ngohaibac AT gmail DOT com

    14-12-05 11:27 #5ngohaibac

    Moderator

    Tham giaSep 2005

    Ni C NgBKHN

    Bi vit596

    Mentioned0 Post(s)

    Tagged

    0 Thread(s)

    Cch chng mt dliu

    Cm n sng vin ca anh Cng. Sng hng th cht. Th th em s tip tc ch ny.

    Ti xin gii thiu cho cc bn cch chng mt d liu trong khi truyn nhn d liu gia cc nt trong mng li:

    Phn ln cc my tnh trong mng ni tip c nhiu vic phi lm bn cnh vic chnhn d liu. V d, mi n v d liu c th thu thp theochu k v lu tr d liu ti khi mt mt xch khc trong mng yu cu d liu ny. Hoc mt iu khin c thp ng cc iu kin iu khinv iu hnh, thnh thong li nhn thng tin hoc nhn cc yu cu t trong mng.

    Mt my tnh mun truyn d liu trong khi mt my nhn khc ang bn vi cc cng vic khc. Vic thit k mng phi i hi rng mi ninhn c th bit c d liu no chuyn n n v tt c mi d liu n my nhn phi khng c li.

    C nhiu cch lm thc hin iu , bao gm bt tay( handshaking), bm( buffering), dng d( polling) v ngt( interrupts) pht hin dliu n, kim sot li( error checking), v tha nhn d liu ti( acknowledging). Mi lin kt c th dng mt hoc nhiu cch trong snhng cch ny.

    Bt tay( handshaking):

    Vi tn hiu bt tay, my pht c th xc nh khi no my tnh ny phi truyn d liu v my nhn c th bit khi no n sn sng nhn d liu.Tn hiu c th bin i qua RS-232 hoc RS-485 theo giao thc chun hoc giao thc qui c.

    Mt trong nhng dng bt tay v phn cng, ni nhn a ra dng mc cao khi sn sng nhn d liu, v ni truyn chtn hiu ny trc khitruyn d liu. Ni nhn c tha ra dng mc thp trong mi thi im, thm ch c trong qu trnh chdng phn hi cao trc khi kt thcqu trnh truyn nhn. Mt s dng lin kt khc hot ng ging nguyn tc trn nhng vi bt tay bng phn mm, bng cch ni nhn gimt m bo n sn sng nhn d liu, v mt m khc bo bo cho ni truyn dng qu trnh gi d liu.

    Bm( Buffer):

    Bm l mt dng khc ni nhn c th chc chn l khng mt mt d liu no gi n chng. Bm c th c ch cho pha truyn, nicho php ng dng lm vic c hiu qu bng cch lu tr d liu gi khi lin kt sn sng truyn nhn d liu.

    Bm c th l bm phn cng, phn mm hoc c hai. Cng ni tip dng tt c cc dng ny nhng my tnh c nht c 16 byte bm

    5.

    l Port - lp trnh giao ti p n i ti p http://webcache.googleusercontent.com/search?q=cache:_fFITr

    5 3/3/2013

  • 7/29/2019 Lp trnh giao tip RS232

    7/15

    phn cng c tch hp trong nhng UART. Trong chiu nhn, iu c ngha rng UART c th lu tr 16 byte trc khi phn mm cn cchng. Trong chiu nhn, UART c th lu tr 16 byte v UART s cn thn truyn mi byte theo tng bt tng bt theo giao thc la chn.

    Khi bm phn cng khng rng, mt my tnh c nhn c th dng bm phn mm, bm ny c th lp trnh c kch thc v kchthc ti a cho php bi b nhh thng. Cc thit b phn mm ca cng truyn nhn d liu gia bm phn cng v phn mm.

    Trong cc vi iu khin, bm c xu hng trnn nh hn, v mt s chip khng c bm phn cng. Vic lm hp b nhm iu quantrng hn y l cc chp ny dng cc cng ngh khc chc chn l khng d liu no b mt.

    Thm d v ngt:

    S kin gy ra cng ni tip bao gm khi truyn v nhn d liu, thay i tn hiu bt tay, v gi , nhn thng ip li. C hai cch cho ng

    dng pht hin v gy ra nhng s kin ny.

    Cc thnht l c chng trnh tng nhy ti cc chui s kin c sp xp trc( nh bng vector ngt) khi mt s kin xy ra. ng dngphn ng nhanh v tng hot ng cng m khng lng ph thi gian kim tra, ch cn bit nh khng c hot ng no xy ra.

    Dng lp trnh ny gi l chy ua s kin( event-driven) bi v mt s kin bn ngoi c th xy ra trong bt k thi im no v chng trnhchy ti mt bng c bit.

    Trong VB, s kin OnComm ca MSComm( Microsoft Communication Control 6.0 - iu khin ActiveX) lm cng vic ny. OnComm chy png li ngt phn cng hoc bm ca bm phn mm t ti gi tr xy ra s kin. Nhiu b vi iu khin c ngt phn cng dng vi mcch ny.

    Cch thhai l thm d bng cch c theo tng chu k hoc pht ra tn hiu tm kim khi no mt s kin xy ra. Dng lp trnh ny gi l lptrnh th tc, v khng dng ngt phn cng. ng dng phi chc chn thm d cng mt cch y khng mt bt k mt d liu no hocs kin no. Tn s thm d ph thuc vo kch thc bm v tng d liu cn ly( cn cho phn ng nhanh). V d, nu mt thit b c 16byte bm v d cng 1 ln/1 giy, thit b ny ch c th nhn khng th ln hn 16 byte/ 1 giy hoc l bm s b trn hoc l d liu s b

    mt.

    Phng php thm d thng p dng cho truyn d liu ngn, t ngt hoc khi my tnh gi d liu v chi tn hiu phn hi nhanh. Mtgiao din thm d khng yu cu ngt phn cng, v bn c th chy dng lp trnh ny trn cng m khng c ng ngt. Nhiu giao dinthm d dng ngt timer ca h thng c k hoch c cng sau mt khong thi gian cnh.

    Last edited by ngohaibac; 04-05-07 at 01:04.

    Chia sShare this post on

    Digg

    Del.icio.us

    Technorati

    Twitterhp1812, thechinhcdt, anhtuan.cyb v 19 ngi na cm n ni dung ny.

    Tel. +84-(0) - 915 560 511SmartGrid Technology CompanyEmail : ngohaibac AT gmail DOT com

    14-12-05 11:28 #6

    ngohaibac

    Moderator

    Tham giaSep 2005

    Ni C Ng

    BKHNBi vit

    596

    Mentioned0 Post(s)

    Tagged

    0 Thread(s)

    Cch chng mt dliu(tip)

    Tha nhn( Actknowledgments):

    Mt vi lin kt c cc nt chp nhn mnh lnh m khng c mt phn ng no, nhng bnh thng n c ch cho nt nhn cho bn truynbit rng mt thng ip

    6.

    l Port - lp trnh giao ti p n i ti p http://webcache.googleusercontent.com/search?q=cache:_fFITr

    5 3/3/2013

  • 7/29/2019 Lp trnh giao tip RS232

    8/15

    truyn qua, thm ch nu bn nhn khng c mt thng tin no phn hi. S tha nhn ny c bit c ch trong mng li, khi c nhiu ntchia s cng ng truyn thng v ni truyn ang chuyn i ti thi gian khng ng c th cn trmt thng ip ca ni truyn khc.

    Actknowledgments c th l mt byte c nh ngha sn, nh l mt gi tr m ng ho vi bn nhn, hoc l nt truyn c th cho rngc mt nt nhn uc thng ip ca n khi n nhn c yu cu d liu p li. Nu nt truyn khng nhn c phn ng phn ng m nyu cu, nt ny s cho rng c mt li v truyn li hoc l lm cc cng vic khc.

    Khi truyn ti mt nt m khng c bm nhn hoc c bm kch thc nh, bn truyn c th dng Actknowlegments chc chn rng sc s tham gia ca nt no vo qu trnh truyn nhn trc khi gi mt gi d liu. Nt truyn bt u bng cch gi mt byte ti tn hiu mn mun gi d liu. Khi nt nhn thy byte, nt ny gi mt Actknowlegment v sau tp trung vo vic xem xt u vo ni tip ca n.Khi ni nhn nhn c Actknowgment , n bit rng an ton v yn tm cho vic gi d liu.

    Kim tra li(Error Checking):

    Bn nhn c th dng Error- Checking kim tra rng mi d liu n ng ch. Cch kim tra thng ip li bao gm gi d liu bn saov byte kim tra li.

    Mt dng n gin kim tra li n gin l dng d liu bn sao. Bn truyn gi mi thng ip 2 ln v bn nhn kim tra xc nh rng 2thng ip ny u ging nhau trong c 2 ln. Tt nhin, iu c ngha rng mi thng ip s mt gp i thi gian truyn. N qu tht l huch khi gi mt d liu ngn quan trong thnh thong, bt cht. Nhiu iu khin hng ngoi dng dng thc ny.

    Mtcch thc khc ca eror-checking l gi mt byte kim tra li cng vi d liu. Checksum tnh ton bng cch thc hin mt vi php tnhton s hc hoc logic trn byte trong thng ip. V th s thm mt byte kim tra vo trong mi byte ca thng ip v dng byte sau cng lm kt qu ca s kim tra.

    Ni nhn lp i lp li qu trnh tnh ton ny, v nu n nhn c cc kt qu khc nhau th c ngha rng n khng nhn c ng d liu gi.Mt dng khc ca byte kim tra l CRC( cyclic redundancy code ) dng nhiu tnh ton phc tp v thc t hn nhiu so vi checksum. Mt vi

    giao thc ph bin dng trong file truyn i l Kermit, Xmodem, Ymodem, v Zmodem.

    Khi mt nt pht hin li hoc nhn c thng ip m n khng hiu, n s c gng thng bo cho nt gi d liu bo rng nt ny c thtruyn th li hoc truyn d liu khc tr li trong hon cnh ny. Sau mt s ln c gng gi, nu nt truyn bit gi nt hin thmt thng ip li, mt m thanh bo hiu, hoc lm iu g cho con ngi bit hot ng ca li v sau tip tc vi trch nhim tt nhtm n c th lm c.

    Nt nhn nn bit phi lm g vi thng ip ngn hn so vi mong i. D i mi cho thng ip k thc, n phi c s kin time out v choni iu hnh bit l c mt li. Ni iu hnh c th gi li sau hoc l tip tc. Nu khng th mng c th b treo trong s chi kt thc.

    Last edited by ngohaibac; 04-05-07 at 01:05.

    Chia sShare this post on

    Digg

    Del.icio.usTechnorati

    Twitterthechinhcdt, BKBamboo, trankien v 15 ngi na cm n ni dung ny.

    Tel. +84-(0) - 915 560 511

    SmartGrid Technology CompanyEmail : ngohaibac AT gmail DOT com

    14-12-05 11:29 #7

    ngohaibac

    Moderator

    Tham giaSep 2005

    Ni C NgBKHN

    Bi vit596

    Mentioned

    0 Post(s)Tagged

    0 Thread(s)

    Gii thiu iu khin ActiveX MSComm

    7.

    l Port - lp trnh giao ti p n i ti p http://webcache.googleusercontent.com/search?q=cache:_fFITr

    5 3/3/2013

  • 7/29/2019 Lp trnh giao tip RS232

    9/15

    MSComm trong VB dng iu khin truyn thng ni tip. iu khin ny c trong bn VB Proessional v Enterprise editions, nhng khng ctrong phin bn Learning editions( gi r nht). iu khin ny d dng trong lp trnh v hot ng tt hn cc dng truy sut cng khc. Nu lbn y cc bn d dng tm c iu khin ny trong Project-> Component( Ctr-T) Chn Microsoft Comm Control 6.0

    Cc c tnh ca MSComm:

    Nhng tnh cht ca MSComm lin quan n thit lp cng, truyn nhn d liu, dng tn hiu bt tay, hoc ng nht cc iu khin. Cc tnhcht ca MSComm c sp xp theo chc nng:

    Thit lp:

    CommID: tr li handles ng nht ti thit b truyn thng c kiu Long. Tnh cht ny khng c lc thit k m ch c khi thi hnh, thuc

    tnh ny l ReadOnly.CommPort: dng object.CommPort = value. Value l ch s ca cng Com c gi tr t 1 -> 16 v mc nh c gi tr =1. Cc bn cn phithit lp thng s ny trc khi mcng. S c li error 68 (Device unavailable) nu nh khng mc cng ny.InBuferSize: thit lp hoc tr li kch thc ca bm nhn, tnh =byte. Mc nh l 1024 byte. Cc bn khng c nhm ln vi ctnh InBufferCount l s byte ang chtrong bm.InputLen : object.InputLen [ = value ] thit lp hoc tr li s byte mi ln thuc tnh Input c c. Mc nh gi tr Value=0 tc l thuctnh Input sc ht ni dung ca bm khi n c dng. Nu s k t trong bm nhn khng = InputLen th thuc tnh Input s trli k t rng . V th bn cn phi chn cch kim tra InBufferCount chc chn s k t yu cu c trc khi dng lnh .Input.Tnh cht ny rt l c ch khi c d liu mt my m d liu ra c nh dng bng cc khi c chiu di cnh.InputMode: object.InputMode [ = value ] . Value = 0 hay = comInputModeText d liu nhn c dng vn bn kiu k t theo chunANSI. D liu nhn c s l mt su.Value=1 hay = comInputModeBinary dng nhn mi kiu d liu nh k tiu khin nhng, k t NULL,.. Gi tr nhn c t Input s lmt mng kiu Byte.NullDiscard: object.NullDiscard [ = value ] tnh cht ny quyt nh k t trng c c truyn t cng n bm nhn hay khng. Nuvalue= True k t ny khng c truyn. value = false k t trng sc truyn. K t trng c nh ngha theo chun ASCII l k t 0 chr$(0).

    OutBuferSize: ging nh InBuferSize, mc nh l 512.ParityReplace: thit lp v tr li k t thay th k t khng ng trong li ging nhau.PortOpen: thit lp v tr li tnh trng ca cng(ng hoc m). object.PortOpen [ = value ] value = true cng m. =false cng ng vxa ton b d liu trong bm nhn v truyn. Cn phi thit lp thuc tnh CommPort ng vi tn ca cng trc khi mcng giaotip. Thm vo cng giao tip ca thit b ca bn phi h trgi tr trong thuc tnh Setting th thit b ca bn mi hot ng ng, cnkhng th n s hot ng rt dhi nu khng ni l n chy khng tt. ng DTR v RTS lun gi li trng thi ca cng.RthresHold: object.Rthreshold [ = value ] value kiu s nguyn. Thit lp s k t nhn c trc khi gy ln s kin comEvReceive. Mcnh =0 tc l khng c s kin OnComm khi nhn c d liu. Thit lp = 1 tc l s kin OnComm xy ra khi bt k k t no b thayth trong bm nhn.Settings: object.Settings [ = value ] thit lp hoc tr li cc thng s tn s baud, bt d liu, bt chn l, bt stop. Nu Value khng c gi trkhi ms gy ra li 380 (Invalid property value).

    Value c dng "BBBB,P,D,S". Trong , BBBB l tn s bus, P : thit lp bt ng b, D: s bt d liu, S: s bt stop.Mc nh ca n l : "9600,N,8,1"

    Sau y l mt s tn s bus 110,300,600,1200,2400,4800,9600( mc nh), 1400,19200,28800,38400,56000,115200,128000,256000.

    Cc gi tr ca P: E( even), M: mark, N: none( mc nh), O: old, S: Space.D : c gi tr t 4-> 8( mc nh).S: s bt stop c gi tr 1, 1.5, 2;SThreshold: thit lp v v tr li s k t nh nht c cho php trong bm gi xy ra s kin OnComm = comEvSend . Theo mcnh gi tr ny = 0 tc l khi truyn s khng gy ra s kin OnComm. Nu thit lp thng s ny =1 th s kin OnComm xy ra khi bm truyn rng. S kin OnComm = comEvSend ch xy ra khi m s k t trong bm truyn nh hn hoc = Sthreshold. Nu s k ttrong bm ny lun ln hn Sthreshold th s kin ny khng th xy ra.

    Last edited by ngohaibac; 04-05-07 at 01:08.

    Chia sShare this post on

    Digg

    Del.icio.us

    TechnoratiTwitter

    totitete, dingdong1000, BKBamboo v 20 ngi na cm n ni dung ny.

    Tel. +84-(0) - 915 560 511

    SmartGrid Technology CompanyEmail : ngohaibac AT gmail DOT com

    14-12-05 11:30 #8

    ngohaibac

    Moderator

    8.

    l Port - lp trnh giao ti p n i ti p http://webcache.googleusercontent.com/search?q=cache:_fFITr

    5 3/3/2013

  • 7/29/2019 Lp trnh giao tip RS232

    10/15

    Tham gia

    Sep 2005Ni C Ng

    BKHNBi vit

    596Mentioned

    0 Post(s)Tagged

    0 Thread(s)

    Gii thiu iu khin ActiveX MSComm( tip)

    Truyn nhn d liu:+ CommEvent: tr li phn ln s kin giao tip hoc c li. CommEvent xy ra khi c li hoc khi xy ra s kin no . Sau y l mt s hngs li:

    comEventBreak 1001 A Break signal was received.comEventFrame 1004 Framing Error. The hardware detected a framing error.comEventOverrun 1006 Port Overrun. A character was not read from the hardware before the next character arrived and was lost.

    comEventRxOver 1008 Receive Buffer Overflow. There is no room in the receive buffer.comEventRxParity 1009 Parity Error. The hardware detected a parity error.

    comEventTxFull 1010 Transmit Buffer Full. The transmit buffer was full while trying to queue a character.comEventDCB 1011 Unexpected error retrieving Device Control Block (DCB) for the port.

    Mt s s kin :

    Constant Value DescriptioncomEvSend 1 There are fewer than Sthreshold number of characters in the transmit buffer.comEvReceive 2 Received Rthreshold number of characters. This event is generated continuously until you use the Input property to remove thedata from the receive buffer.

    comEvCTS 3 Change in Clear To Send line.comEvDSR 4 Change in Data Set Ready line. This event is only fired when DSR changes from 1 to 0.

    comEvCD 5 Change in Carrier Detect line.comEvRing 6 Ring detected. Some UARTs (universal asynchronous receiver-transmitters) may not support this event.comEvEOF 7 End Of File (ASCII character 26) character received.

    + EOFEnable: object.EOFEnable [ = value ] quyt nh cc hnh ng nu MSComm tm thy k t kt thc file. Nu value=true khi tm thy kt kt thc file th s gy ln s kin comEvEOF trong OnCommEvent. Nu value= false th s khng gy ln s kin ny.

    + InBufferCout: tr li s k tang c trong bm nhn Bn c th xo bm nhn bng cch t thuc tnh ny =0 . Khng nhm vi thuctnh InBufferSize l tng kch thc ca bm nhn.

    + Input: nhn v xo d liu trong bm nhn.Nu InputMode l comInputModeText th gi tr tr v s l mt xu tc c kiu String , d liudng text trong mt bin kiu Variant. Nu InputMode = comInputModeBinary th thuc tnh ny s tr li d liu dng nh phn di dng mtmng kiu byte trong mt bin Variant.

    + OutBufferCount: tr li s k t trong bm truyn.

    + Output: ghi d liu vo bm truyn. c th truyn kiu text hoc kiu nh phn. Nu truyn bng kiu text th cho mt bin Variant = kiuString, nu truyn kiu nh phn th cho cho Output= variant = mt mng kiu Byte.Bt tay( handshaking):

    + Break : thit lp hoc xo tn hiu. object.Break [ = value] value = true hoc false. Khi set value= true th thng s Break ny s gi mt tnhiu break. Tn hiu break tr hon vic truyn d liu v a ng truyn vo trng thi break ti khi m value = false.

    + CDHolding: qut nh xem s truyn ny n u bng cch truy vn ng CD( Carrier Detect). Carrier Detect l tn hiu gi t modem timy tnh kt ni vi n thng bo rng n ang online. Nu gi tr = true th n ng CD ang mc cao, nu = false th ng dy ny ang mc thp. Tnh cht ny khng c trong lc thit k ch c trong khi chy chng trnh.Carrier Detect c bit nh l Receive Line Signal Detect (RLSD).

    + CTSHolding: qut nh khi no bn gi d liu bng cch truy vn trng thi ng Clear To Send (CTS). Thng thng tn hiu CTS c git modem ti my tnh kt ni vi n bo rng ang qu trnh truyn d liu. Thuc tnh Readonly ch xut hin khi chy chng trnh. ngClear To Send dng trong RTS/CTS (Request To Send/Clear To Send) bt tay phn cng. CTSHolding cho bn mt cch t tay d ng ClearTo Send nu bn cn bit trng thi ca n.

    + DSRHolding: bit trng thi ca ng Data Set Ready (DSR). Tn hiu Data Set Ready truyn t modem ti my tnh ni vi n thng borng modem sn sng hot ng. Tnh cht ny dng khi vit Data Set Ready/Data Terminal Ready handshaking routine cho my DataTerminal Equipment (DTE)- my trang bu cui d liu.

    + DTREnable: tnh cht ny quyt nh khi no cho php ng Data Terminal Ready (DTR) trong truyn thng. Tn hiu DTR gi t my tnh

    l Port - lp trnh giao ti p n i ti p http://webcache.googleusercontent.com/search?q=cache:_fFITr

    15 3/3/2013

  • 7/29/2019 Lp trnh giao tip RS232

    11/15

    ti modem bo rng my tnh sn sng l ni nhn d liu. Khi DTREnable = true th ng Data Terminal Ready set ln cao khi cng m, vthp khi cng ng. Nu DTREnable = false th ng lun mc thp. Trong phn ln trng hp set ng Data Terminal Ready thnh thp hang up telephone.

    + Handshaking: thit lp v tr li giao thc bt tay phn cng. object.Handshaking [ = value ].Cc gi tr ca value:

    Setting Value DescriptioncomNone 0 (Default) No handshaking.comXOnXOff 1 XON/XOFF handshaking.

    comRTS 2 RTS/CTS (Request To Send/Clear To Send) handshaking.comRTSXOnXOff 3 Both Request To Send and XON/XOFF handshaking.

    Handshaking ch l giao thc truyn thng ni ti quyt nh bi d liu no c truyn t cng phn cng ti bm nhn. Khi k t ca dliu ti cng ni tip, thit b truyn thng s chuyn n vo trong bm nhn v chng trnh ca bn c thc chng. Nu khng c bmd liu hoc chng trnh ca bn cn c k t trc tip t phn cng , bn c th mt d liu bi v k t t phn cng n rt nhanh. Giao thcHandshaking m bo d liu khng b mt, khi d liu n cng qu nhanh th thit b truyn thng s chuyn d liu vo trong bm nhn.

    + RTSEnable: qut nh khi no cho php ng Request To Send (RTS), Tn hiu RTS t my tnh ti modem yu cu c tryn d liu. KhiRTSEnable = true th ng RTS mc cao khi cng m, tch mc thp khi cng ng. V hin nhin khi RTSEnable th ng RTS lun mcthp.RTS dng trong RTS/CTS hardware handshaking. RTSEnable cho php bn d ng RTS khi cn bit tnh trng ca ng ny.

    Cc tnh cht trn khng c lc thit k giao din m ch c lc chy chng trnh ( dng trong vit code).

    Ngoi ra cn c cc thuc tnh khc nh vi cc loi iu khin khc:Index: thit lp v tr v mt s xc nh th t nu form bn c nhiu iu khin nh th ny., Name: tn iu khin, Object, Parent: tr v form hoc i tng m iu khin ny nm trn ,Tag: thit lp v tr v mt biu thc. Ngi dng nh ngha

    Chc cc bn c phn no hiu bit viu khin ActiveX ny.

    Last edited by ngohaibac; 28-12-05 at 17:47.

    Chia sShare this post on

    Digg

    Del.icio.us

    Technorati

    TwitterBKBamboo, pcdung, namic v 16 ngi na cm n ni dung ny.

    Tel. +84-(0) - 915 560 511

    SmartGrid Technology Company

    Email : ngohaibac AT gmail DOT com

    15-12-05 10:03 #9

    ngohaibac

    Moderator

    Tham gia

    Sep 2005Ni C Ng

    BKHN

    Bi vit596

    Mentioned0 Post(s)

    Tagged0 Thread(s)

    Truyn dliu kiu text v nh phn trong VB

    Cho cc bn hm nay ti li tip tc gii thiu cho cc bn hiu v cch truyn, nhn d liu dng text v binary trong VB.

    Trc ht, cc bn cn bit bin kiu Variant( t ra trong tin c ngha l tng t, gn ging nhau). Do vy m mt bin Variant c th gn =bt k kiu g cng c.Sau y l chi tit v 2 vn chnh:

    VB cho php bn truyn d liu dng Text hay l dng Binary. Thuc tnh InputMode quyt nh iu khin MSComm dng dng no.

    9.

    l Port - lp trnh giao ti p n i ti p http://webcache.googleusercontent.com/search?q=cache:_fFITr

    15 3/3/2013

  • 7/29/2019 Lp trnh giao tip RS232

    12/15

    1.Kiu vn bn( Text):

    Vi thuc tnh InputMode = comInputModeText th MSComm s gi v nhn d liu dng xu theo chun ANSI ( khng phi chun ASCII). gi mt xu ra port, bn cn phi cho thuc tnh Output ca MSComm = 1 xu. V d:

    Code:

    Dim SampleText as String

    v d bn mun truyn mt xu ABCSampleText = ABC

    gi k t ny ra cngMSComm1.Output = SampleText

    MSComm gi mt m ANSI 8 bt cho mi k t trong xu m bn gi. c mt xu t cng, cn t mt xu = thuc tnh Input ca MSComm.V d bn mun c d liu t cng v ghi vo mt bin SampleText c kiu String:

    Code:

    Dim SampleText as String

    SampleText = MSComm1.Input khi SampleText s l d liu c cMSComm lu tr mi m ANSI 8 bt nh mt k t vn bn.

    Thc t nh cc bn bit th gi tr truyn cho MSComm1.Output phi l kiu Variant. y thuc tnh Output chp nhn kiu mt binVariant cha mt xu k t v MSComm sc xu k t v gn tng vo mt bin Variant v Variant chnh l kiu ca Output. Ni cch khcy c s chuyn kiu ngm nh gia kiu String sang kiu Variant.

    Ngay bn trong bn thn chng trnh VB li lu tr xu di dng m Unicode 16 bt nhng s chuyn i gia kiu Unicode v kiu xu k tANSI 8 bt ca MSComm din ra mt cch tng.

    Schuyn kiu ca s ASCII Hex:

    S ASCII Hex l s hexa bnh thng m ta vn dng nh 0xA5( trong C,C++) hoc 0A5h( trong ASM,..) i din cho s 165 trong h Decimal(165 = 16*10+ 5).

    Vi cc ng dng dng nh dng ASCII Hex, VB c mt hm chuyn i gia kiu xu ASCII Hex v gi tr m n i din. Ton t Hex$chuyn i mt s sang dng k t ASCII Hex:

    V d, kim tra bn c th dng hm rt n gin xem n in ra th no :Code:

    debug.print Hex$(165)

    th kt qu s hin trn mt Dialog l : A5Ton t Val chuyn i t kiu ASCII Hex sang kiu gi tr ca xu :V d: ta thy 0xA5 = 165 th xem c ng khng dng lnh;Code:

    debug.print Val(&h & A5)

    Kt qu l 165.

    Xu u tin &h c thm vo bo cho VB bit i x vi gi tra ra sau nh l mt s hexadecimal.

    2. Kiu nh phn( Binary Mode):

    truyn d liu di dng nh phn, cn thit lp thuc tnh InputMode ca MSComm thnh comInputModeBinary.

    VB cung cp mt kiu d liu kiu Byte lu tr d liu nh phn. Cc byte c ghi v c t cng ni tip c lu tr trong mt binVariant( ni dung ca n cha mt mng m cc phn t ca mng c kiu Byte). Thm ch nu chc, ghi duy nht c 1 byte th d liu nycng phi t trong mt mng byte, ch khng uc lu tr trong mt bin kiu byte thng thng. ghi mt mng kiu byte ra cng ni tipgm 2 bc.

    + Bc u: lu tr mng kiu byte vo mt bin variant

    + Bc 2: gi d liu i bng cch thit lp thng s Output ca MSComm bng bin Variant .

    Code:

    Dim BytesToSend(0 to 1) as Byte khai bo mt mng 2 phn tDim Buffer as Variant

    lu tr d liu vo mng kiu byte trnBytesToSend(0) = &H4A

    BytesToSend(1) = &H23

    cho vo mt bin VariantBuffer = BytesToSend()

    ghi vo cng ni tipMSComm1.Output = Buffer

    l Port - lp trnh giao ti p n i ti p http://webcache.googleusercontent.com/search?q=cache:_fFITr

    15 3/3/2013

  • 7/29/2019 Lp trnh giao tip RS232

    13/15

    c cc byte ti cng ni tip, bn cng lm tng t nh trn, c vo mt bin Variant sau cho mt mng = bin .Code:

    Dim BytesReceived() as Byte khai bo mt mng ngDim Buffer as Variant khai bo bin variantc d liu t cng ni tipBuffer = MSComm1.Input

    ghi d liu c c vo mng ngBytesReceived() = Buffer

    Cc ban lu l phi khai bo mt mng byte ng. C 2 cch chuyn i gi mng bytes v kiu Variant. Bn c th cho mt bin = mt binc s chiu c bit v VB lm cng vic chuyn i ny tng:

    Code:Dim DimensionedArray(15) as Byte mng khai bo s chiu =15Dim DynamicBytesArray() as Byte

    Dim Buffer As Variant

    Dim Count As Integer

    lu tr mt mng mng vo mt bin variant. Mng ny c bit s phn tBuffer = DimensionedArray()

    sao chp ni dung ca mt bin variant vo mt mng th mng ny phi khai bo l mt mng ng( cha bit s phn t)DynamicBytesArray() = Buffer

    i vi VB 6.0 bn hon ton c th gn 2 mng vi nhau v n s t sao chp ni dung t mng ngun sang mng ch m khng cn phi lmbng cch sao chp tng phn t ca 2 mng cho nhau( nh trong C th bn phi lm iu ny ri v gn 2 tn mng thc cht l bn ch l chocon tr mng ch tr vo a ch ca phn t ca mng ngun thi, y l s sao chp b mt). Tuy nhin bn vn c th lm iu ny trong VB:

    Code:

    lu tr mt mng kiu byte trong mt bin variantBuffer = CVar(DynamicByteArray())

    CVar -> Convert to Variant Chuyn thnh kiu variant

    lu ni dung ca bin variant ny trong mt mng kiu byteFor Count = 0 to (LenB(Buffer)-1)

    DimmensionedArray(Count) = CByte(Buffer(count))

    Next Count

    CByte -> Convert to Byte chuyn kiu thnh kiu Byte

    Last edited by ngohaibac; 04-05-07 at 01:15.

    Chia sShare this post on

    Digg

    Del.icio.us

    TechnoratiTwitter

    tbs0203, totitete, vudung86 v 26 ngi na cm n ni dung ny.

    Tel. +84-(0) - 915 560 511SmartGrid Technology Company

    Email : ngohaibac AT gmail DOT com

    15-12-05 10:07 #10

    ngohaibac

    Moderator

    Tham giaSep 2005

    Ni C NgBKHN

    Bi vit596

    Mentioned0 Post(s)

    Tagged0 Thread(s)

    Gi nhn dliu bng phng php d

    Tip theo ti xin gii thiu cho cc bn phng php ly d liu bng phng php thm d( polling).

    10.

    l Port - lp trnh giao ti p n i ti p http://webcache.googleusercontent.com/search?q=cache:_fFITr

    15 3/3/2013

  • 7/29/2019 Lp trnh giao tip RS232

    14/15

    Giao tip ti cng bng phng php d tc l bn chc hoc ghi ra cng khi no cn bng cch dng thuc tnh Input hoc Output caMSComm.

    1. Gi dliu:

    Thuc tnh Output dng ghi d liu ra cng. Bin dng bn phi c php l mt bin kiu Variant.y l c php ghi d liu:Code:

    Dim DataToWrite As Variant

    MSComm1.Output = DataToWrite

    Khi gi mt khi nh d liu, cn phi thit lp thuc tnh OutBuferSize phi ln hn hoc bng s lng ln nht cc byte m cc bn cnchuyn trong mt ln.

    i vi vic truyn d liu c tnh lu di v thi gian dng OutBufferCount chc chn rng bm khng b trn. Khi bn c nhiu d liucn gi trnh cho trn bm , bn nn c gi tr ca OutBufferCount v so snh vi gi tr ca OutBufferCount kim tra xem bm cnbao nhiu sau khi gi d liu u tin. Sau lm y bm bng cch ghi bng cc byte hoc nhhn d liu vo bm th bm skhng b trn. Hoc bn c th gi d liu ng gi vi kch thc xc nh v ch gi cc gi ny c OutBufferCount ch rng c chtrng trong bm cho gi d liu ny. V d, OutBufferSize = 1024 v kch thc 1 gi l 512, bn ch c th gi c gi d liu ny khi mOutBuferCount NumberOfBytesToRead

    khi tng s byte ti th c lu vo DataInDataIn = MSComm1.Input

    Thuc tnh InBuferSize phi rng cho lng ln nht d liu c th ti m khng b mt trc khi MSComm c thc chng. Nu dliu n bng cc block vi kch thc cnh th cn thit lp thuc tnh InBufferSize bng bi s ca kch thc 1 block.

    Nu tng d liu n khng bit kch thc th no, ng dng nn c bm nhn ngay khi bm ch nhn c 1 byte trnh vic khngkim sot cbm gy ra trn d liu. Chi nhiu byte c l mt vic lm khng c hiu qu bi v khng c cch no bit c byteno sn cui cng. Nu chnhiu hn 1 byte ri mi c, chng trnh nn bao gm c mt time out chnh l tng thi gian t lc chmtng s byte vn khng n( nh bn ch6 byte m mi khng n chng lng dng chmy gi, th th bn cn phi qui nh l sao baonhiu lu th c thi chng cn chna).

    Bn c th kt hp phng php lp trnh theo th tc v theo s kin bng cch s dng timer bit khi no th c cng. V d, dng mt skin Timer gy ra cng eer c cng mt ln / mt giy.

    Trn y l cch c, ghi d liu bng phng php d. Ngy mai ti xin gii thiu cho cc bn cch dng ngt(Interrupt), tc l dng s kinOnComm ca MSComm.

    Last edited by ngohaibac; 04-05-07 at 01:18.

    Chia sShare this post on

    Digg

    Del.icio.us

    Technorati

    Twitterchipmickey, VietCuong, tbs0203 v 55 ngi na cm n ni dung ny.

    Tel. +84-(0) - 915 560 511

    SmartGrid Technology CompanyEmail : ngohaibac AT gmail DOT com

    Trang 1/11123 ... cui

    Jump to page:

    Bookmarks

    l Port - lp trnh giao ti p n i ti p http://webcache.googleusercontent.com/search?q=cache:_fFITr

    15 3/3/2013

  • 7/29/2019 Lp trnh giao tip RS232

    15/15

    Bookmarks

    Facebook

    Digg

    del.icio.us

    StumbleUpon

    Google

    Quyn SDng Din n

    Bn khng c gi lung mi

    Bn khng c tr li bi vitBn khng c gi file nh kmBn khng c sa bi vit ca mnh

    BB code is MSmiliesang M[IMG]ang M[VIDEO] code is MHTML ang TtTrackbacks are MPingbacks are MRefbacks are M

    Forum Rules

    Lin Lcin t Vit NamLu TrTrLn Trn

    Mi giGMT. Hin ti l 16:02.Powered by vBulletin Version 4.2.0

    Copyright 2000 - 2013, Jelsoft Enterprises Ltd. 2005 - 2013 dientuvietnam.net. Founded by BinhAnh. Designed by DTVN Team. All rights reserved.Copyright DientuVietnam

    l Port - lp trnh giao ti p n i ti p http://webcache.googleusercontent.com/search?q=cache:_fFITr