... Điều khiển MSComm trong Visual C++ Trên đây là các tham số của điều khiển MSComm trong VB. Trong Visual C++ , mỗi một điều khiển được định nghĩa trong một lớp riêng. Và MSComm cũng không phải là ngoại lệ. Với các tham số ở trên các bạn hoàn toàn có thể áp dụng rất là tốt cho lậptrình với VC++ bởi lẽ các tham số này bạn có thể lấy giá trị hoặc thiết lập tham số cho chúng tương ứng bằng các hàm thành viên cửa lớp như Get_thuộctính hoặc Set_thuộctính. Ví dụ, bạn muốn thiết lập dùng cổng COM1 chẳng hạn thì dùng thuộc tính CommPort ở trên và chỉ thêm tiền tố Set_ nếu muốn thiết lập và Get_ nếu muốn lấy giá trị này. Sau đây là lớp MSComm là một lớp kế thừa từ lớp cở sở CWnd, các bạn có thể tham khảo. Các bạn chú ý về các kiều dữ liệu cửa các tham số và giá trị trả về của các hàm. Việc Người báo cáo: Ngô Hải Bắc Tài liệu: TUT01.03 Ngày: 10/01/06 Trang: 1/78 Tutorial no 01.02 Gửi đến: Đoàn Hiệp, Doãn Minh Đăng, Huỳnh Châu Thuận picvietnam@googlegroups.comNội dung: Lập trìnhgiaotiếpmáytínhquacổngRS232 MICROSOFT WORD Tóm tắt: Vấn giaotiếp giữa PC và vi điều khiển rất quan trong trong các ứng dụng điều khiển, đo lường, ... trong thực tế. Do đó tôi xin giới thiệu cho các bạn viết chương trình trên PC dùng MSComm. Tôi xin đưa ra một số vấn đề như sau: ‐ Giới thiệu chuẩn giaotiếpRS232 và điều khiển Active X Microsoft Communication 6.0( MSComm): cách tính chất và cách thiết lập tham số tối ưu cho điều khiển. ‐ Lậptrình ứng dụng giaotiếp trên cơ sở sử dụng phần mềm Visual C++ trong bộ công cụ Visual ‐ Studio 6.0 của Microsft: + Thiết kế giao diện chương trình. + Viết mã cho chương trình. 1. Điều khiển MSComm 1.1. Chuẩn giaotiếpRS232 RS232 là một chuẩn giaotiếp nối tiếp dùng định dạng không đồng bộ, kết nối nhiều nhất là với 2 thiết bị, chiều dài kết nối lớn nhất cho phép để đảm bảo dữ liệu là 50 – 100 feet ( 12.7 đến 25.4 m), tốc độ 20kBít/s đôi khi là tốc độ 115 k Bít/s với một số thiết bị đặc biệt. Để biết được các tham số của chuẩn giaotiếpRS232 trong hệ điều hành của bạn như thế nảo thì bạn kích phải chuột vào biểu tượng My Computer , chọn Properties, chọn Tab HardWare chọn Device Manager sẽ có một tree hiện ra. Bạn chọn Port( Com & LPT), kích chuột phải vào Communication Port( COM1). Chuyển sang tab Port Setting sẽ thấy được các tham số mà chúng ta cần thiết lập bao gồm tần số bus, Data Bits, Parity Bits, Stop Bits, Handshaking, ... Các thuộc tính của MSComm MSComm là một điều khiển ActiveX dùng trong truyền thông nối tiếp. Các tính chất của điều khiển này được dùng để thiết lậpgiaotiếp với các thiết bị ngoại vi quacổng RS232. Do đó tôi xin giới thiệu với các bạn điều khiển này trong Visual Basic vì cách gọi thuộc tính đơn giản của VB. Từ đó sẽ lấy làm cơ sở để lậptrình trên Visual C++. 1.2.1....
... Cách thiết lập tối ưu cho ứng dụng Để cho ứng dụng có thể đọc ngay dữ liệu khi bắt đầu có trong bộ đệm nhận thì các bạn nên đặt thuộc tính RthresHold = 1. Ngoài ra các bạn cần quan tâm đến các tham số: CommPort, Settings, Rthreshold, SthresHold,PortOpen, InputLen, InputBuffer, OutputBuffer, InBufferSize, InputMode, OutBufferSize. 2. Lậptrình 2.1. Mục đích yêu cầu Chương trình này rất là đơn giản. Chúng ta sẽ tạo ra một chương trình có giao diện như sau: Hình 2.1: Giao diện chương trình Chương trình có chức năng sau: ‐ Nhập kí tự hoặc xâu kí tự vào EditBox Transfer, điều chỉnh tham số giaotiếp trên các ComboBox. Nhấn nút Send để gửi dữ liệu ra cổng COM. ‐ Đồng thời với nó nếu có dữ liệu truyền vê cổng Com thì dữ liệu sẽ được hiển thị lên EditBox Receive. Khi bạn nhấn vào Clear thì sẽ xoá dữ liệu hiển thị trên EditBox này. Chú ý: Người báo cáo: Ngô Hải Bắc Tài liệu: TUT01.03 Ngày: 10/01/06 Trang: 32/78 Hình 2.37 Làm cho các GroupBox 7‐>9 có khoảng cách bằng nhau Hình 2.38: Làm cho các GroupBox này thẳng hàng với nhau Người báo cáo: Ngô Hải Bắc Tài liệu: TUT01.03 Ngày: 10/01/06 Trang: 8/78 + Handshaking: thiết lập và trả lại giao thức bắt tay phần cứng. object.Handshaking [ = value ]. Các giá trị của value: comNone ... Thêm các Button Hình 2.47: Thêm Button1 Hình 2.48: Thêm Button2 Người báo cáo: Ngô Hải Bắc Tài liệu: TUT01.03 Ngày: 10/01/06 Trang: 7/78 + InBufferCout: trả lại số kí tự đang có trong bộ đệm nhận Bạn có thể xoá bộ đệm nhận bằng cách đặt thuộc tính này =0 . Không nhầm với thuộc tính InBufferSize là tổng kích thước của bộ đệm nhận. + Input: nhận và xoá dữ liệu trong bộ đệm nhận. Nếu InputMode là comInputModeText thì giá trị trả về sẽ là một xâu tức có kiểu String , dữ liệu dạng text trong một biến kiểu Variant. Nếu InputMode = comInputModeBinary thì thuộc tính này sẽ trả lại dữ liệu dạng nhị phân dưới dạng một mảng kiểu byte trong một biến Variant. + OutBufferCount: trả lại số kí tự trong bộ đệm truyền. + Output: ghi dữ liệu vào bộ đệm truyền. có thể truyền kiểu text hoặc kiểu nhị phân. Nếu truyền bằng kiểu text thì cho một biến Variant = kiểu String, nếu truyền kiểu nhị phân thì cho cho Output= variant = một mảng kiểu Byte. Bắt tay( handshaking): + Break : thiết lập hoặc xoá tín hiệu. object.Break [ = value] value = true hoặc false. Khi set value= true thì thông số Break này sẽ gửi một tín hiệu break. Tín hiệu break trì hoàn việc truyền dữ liệu và đưa đường truyền vào trạng thái break tới khi mà value = false. + CDHolding: quết định xem sự truyền này đến đâu bằng cách truy vấn đường CD( Carrier Detect). Carrier Detect là tín hiệu gửi từ modem tới máytính kết nối với nó thống báo rằng nó đang online. Nếu giá trị = true thì nó đường CD đang ở mức cao, nếu = false thì đường dây này đang ở mức thấp. Tính chất này không có trong lúc thiết kế chỉ có trong khi chạy chương trình. Carrier Detect được biết như là Receive Line Signal Detect (RLSD). + CTSHolding: quết định khi nào bạn gửi dữ liệu bằng cách truy vấn trạng thái đường Clear To Send (CTS). Thông thường tín hiệu CTS được gửi từ modem tới máytính kết nối với nó để báo rằng đang quá trình truyền dữ liệu. Thuộc tính Readonly chỉ xuất hiện khi chạy chương trình. Đường Clear To Send dùng trong RTS/CTS (Request To Send/Clear To Send) bắt tay phần cứng. CTSHolding cho bạn một cách để tự tay dò đường Clear To Send nếu bạn cần biết trạng thái của nó. + DSRHolding: biết trạng thái của đường Data Set Ready (DSR). Tín hiệu Data Set Ready truyền từ modem tới máytính nối với nó để thông báo rằng modem đã sẵn sàng hoạt động. Tính chất này dùng khi viết Data Set Ready/Data Terminal Ready handshaking routine cho máy Data Terminal Equipment (DTE)‐ máy trang bị đầu cuối dữ liệu. + DTREnable: tính chất này quyết định khi nào cho phép đường Data Terminal Ready (DTR) trong truyền thông. Tín hiệu DTR gửi từ máytính tới modem đẻ báo rằng máytính sẵn sàng là nơi nhận dữ liệu. Khi DTREnable = true thì đường Data Terminal Ready set lên cao khi cổng mở, và thấp khi cổng đóng. Nếu DTREnable = false thì đường đó luôn mức thấp. Trong phần lớn trường hợp set đường Data Terminal Ready thành thấp để hang up telephone. Người báo cáo: Ngô Hải Bắc Tài liệu: TUT01.03 Ngày: 10/01/06 Trang: 29/78 Hình 2.32: Thiết lập thuộc tính cho GroupBox5 Hình 2.33: Thiết lập thuộc tính cho GroupBox6 Người báo cáo: Ngô Hải Bắc Tài liệu: TUT01.03 Ngày: 10/01/06 Trang: 39/78 Hình 2.51: Chọn Properties Hình 2.52: Thuộc tính của Button1 Người báo cáo: Ngô Hải Bắc Tài liệu: TUT01.03 Ngày: 10/01/06 Trang: 40/78 Hình 2.53: Thuộc tính của Button2 Hình 2.54: Thuộc tính của Button3 Người báo cáo: Ngô Hải Bắc Tài liệu: TUT01.03 Ngày: 10/01/06 Trang: 22/78 Thế là các bạn đã cho được ứng dụng MSComm vào trong Dialog 2.2.3. ... Điều khiển MSComm trong Visual C++ Trên đây là các tham số của điều khiển MSComm trong VB. Trong Visual C++ , mỗi một điều khiển được định nghĩa trong một lớp riêng. Và MSComm cũng không phải là ngoại lệ. Với các tham số ở trên các bạn hoàn toàn có thể áp dụng rất là tốt cho lậptrình với VC++ bởi lẽ các tham số này bạn có thể lấy giá trị hoặc thiết lập tham số cho chúng tương ứng bằng các hàm thành viên cửa lớp như Get_thuộctính hoặc Set_thuộctính. Ví dụ, bạn muốn thiết lập dùng cổng COM1 chẳng hạn thì dùng thuộc tính CommPort ở trên và chỉ thêm tiền tố Set_ nếu muốn thiết lập và Get_ nếu muốn lấy giá trị này. Sau đây là lớp MSComm là một lớp kế thừa từ lớp cở sở CWnd, các bạn có thể tham khảo. Các bạn chú ý về các kiều dữ liệu cửa các tham số và giá trị trả về của các hàm. Việc Người báo cáo: Ngô Hải Bắc Tài liệu: TUT01.03 Ngày: 10/01/06 Trang: 44/78 Hình 2.61: Tạo cho các comboBox có cùng chiều rộng Chú ý: Riêng với ComboBox thì các bạn phải kéo sao cho chiều cao của điều khiển phải đủ lớn để chứa các dữ liệu nằm trong nó sau này nếu không thì bạn sẽ chẳng thấy nó hiển thị gì hoặc là sẽ thấy có thanh cuộn. Tốt nhất là kéo dài thoải mái đi. Để điều chỉnh chiều cao của các ComboBox như sau: Di chuột đến ComboBox để con trỏ chuột nằm trên nút xổ xuống của điều khiển sau đó kích chuột trái 1 lần. Khi đó bạn sẽ có thể co dãn chiều cao của ComboBox thoải mái Người báo cáo: Ngô Hải Bắc Tài liệu: TUT01.03 Ngày: 10/01/06 Trang: 28/78 Hình 2.30: Thiết lập thuộc tính cho GroupBox3 Hình 2.31: Thiết lập thuộc tính cho GroupBox4 Người báo cáo: Ngô Hải Bắc Tài liệu: TUT01.03 Ngày: 10/01/06 Trang: 14/78 Để có thể test luôn chương trình các bạn nối tắt chân 2 và chân 3 của RS232 lại với nhau chính là nối chân RxD và TxD để chúng ta truyền dữ liệu ra RS232 sau đó nhận dữ liệu luôn. Đây là ví dụ test đơn giản không có bắt tay phần cứng. Hình 2.2: Sơ đồ đấu chân của RS232 2.2....
... Ngườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:1/78Tutorialno01.02Gửiđến:ĐoànHiệp,DoãnMinhĐăng,HuỳnhChâuThuậnpicvietnam@googlegroups.comNộidung: Lập trìnhgiaotiếpmáytínhquacổngRS232 MICROSOFTWORDTómtắt:Vấn giaotiếp giữaPCvàviđiềukhiểnrấtquantrongtrongcácứngdụngđiềukhiển,đol ... Ngườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:5/78truyền.value=falsekítựtrốngsẽđượctruyền.KítựtrốngđượcđịnhnghíatheochuẩnASCIIlàkítự0–chr$(0).+OutBuferSize:giốngnhưInBuferSize,mặcđịnhlà512.+ParityReplace:thiết lập vàtrảlạikítựthaythếkítựkhôngđúngtronglỗigiốngnhau.+PortOpen:thiết lập vàtrảlại tính trạngcủa cổng( đónghoặcmở).object.PortOpen[=value].value=true cổng mở.value=false cổng đóngvàxóatoànbộdữliệutrongbộđệmnhậnvàtruyền.Cầnphảithiết lập thuộc tính CommPortđúngvớitêncủa cổng trướckhimở cổnggiao tiếp. Thêmvàođó, cổnggiaotiếp củathiếtbịcủabạnphảihỗtrợgiátrịtrongthuộc tính Settingthìthiếtbịc ... Ngườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:17/78Hình2.7:chọnnhưmặcđịnh,nhấnNextluônHình2.8:Kíchfinishđểkếtthúcviệctạodựán Giao diệncủaứngdụngbanđầunhưsau: ĐỀ TÀI Lập trìnhgiaotiếpmáytínhquacổng RS232 Ngườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:18/78Hình2.9: Giao diệnbanđầu2.2.2....
... Cácthuộc tính củaMSCommMSCommlàmộtđiềukhiểnActiveXdùngtrongtruyềnthôngnối tiếp. Các tính chấtcủađiềukhiểnnàyđượcdùngđểthiết lậpgiaotiếp vớicácthiếtbịngoạivi quacổng RS232. DođótôixingiớithiệuvớicácbạnđiềukhiểnnàytrongVisualBasicvìcáchgọithuộc tính đơngiảncủaVB.Từđósẽlấylàmcơsởđể lậptrình trênVisualC++.1.2.1. ... Cáchthiết lập tốiưuchoứngdụngĐểchoứngdụngcóthểđọcngaydữliệukhibắtđầucótrongbộđệmnhậnthìcácbạnnênđặtthuộc tính RthresHold=1.Ngoàiracácbạncầnquantâmđếncácthamsố:CommPort,Settings,Rthreshold,SthresHold,PortOpen,InputLen,InputBuffer,OutputBuffer,InBufferSize,InputMode,OutBufferSize.2. Lậptrình 2.1. MụcđíchyêucầuChương trình nàyrấtlàđơngiản.Chúngtasẽtạoramộtchương trình có giao diệnnhưsau:Hình2.1: Giao diệnchương trình Chương trình cóchứcnăngsau:‐NhậpkítựhoặcxâukítựvàoEditBoxTransfer,điềuchỉnhthamsố giaotiếp trêncácComboBox.NhấnnútSendđểgửidữliệura cổng COM.‐Đồngthờivớinónếucódữliệutruyềnvê cổng ComthìdữliệusẽđượchiểnthịlênEditBoxReceive.KhibạnnhấnvàoClearthìsẽxoádữliệuhiểnthịtrênEditBoxnày.Chúý:Ngườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:30/78Hình2.34:Thiết lập thuộc tính choGroupBox7Hình2.34:Thiết lập thuộc tính choGroupBox8Ngườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:17/78Hình2.7:chọnnhưmặcđịnh,nhấnNextluônHình2.8:Kíchfinishđểkếtthúcviệctạodựán Giao diệncủaứngdụngbanđầunhưsau:Ngườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:19/78HộpthoạiComponentsandControlGalleryxuấthiệnbạnchọnRegesteredActiveXControls(đâylàthưmụcchứacácđiềukhiểnActiveX):Hình2.11:ChọnthưmụcđầutiênTrongthưmụcRegisteredActiveXControlsbạnchọnđiềukhiểnmàmìnhcầnMicrosoftCommunicationsControl,version6.0.KíchOKHình2.12:ChọnMicrosoftCommunicationControl,version6.0Ngườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:7/78+InBufferCout:trảlạisốkítựđangcótrongbộđệmnhậnBạncóthểxoábộđệmnhậnbằngcáchđặtthuộc tính này=0.Khôngnhầmvớithuộc tính InBufferSizelàtổngkíchthướccủabộđệmnhận.+Input:nhậnvàxoádữliệutrongbộđệmnhận.NếuInputModelàcomInputModeTextthìgiátrịtrảvềsẽlàmộtxâutứccókiểuString,dữliệudạngtexttrongmộtbiếnkiểuVariant.NếuInputMode=comInputModeBinarythìthuộc tính nàysẽtrảlạidữliệudạngnhịphândướidạngmộtmảngkiểubytetrongmộtbiếnVariant.+OutBufferCount:trảlạisốkítựtrongbộđệmtruyền.+Output:ghidữliệuvàobộđệmtruyền.cóthểtruyềnkiểutexthoặckiểunhịphân.NếutruyềnbằngkiểutextthìchomộtbiếnVariant=kiểuString,nếutruyềnkiểunhịphânthìchochoOutput=variant=mộtmảngkiểuByte.Bắttay(handshaking):+Break:thiết lập hoặcxoátínhiệu.object.Break[=value]value=truehoặcfalse.Khisetvalue=truethìthôngsốBreaknàysẽgửimộttínhiệubreak.Tínhiệubreaktrìhoànviệctruyềndữliệuvàđưađườngtruyềnvàotrạngtháibreaktớikhimàvalue=false.+CDHolding:quếtđịnhxemsựtruyềnnàyđếnđâubằngcáchtruyvấnđườngCD(CarrierDetect).CarrierDetectlàtínhiệugửitừmodemtới máytính kếtnốivớinóthốngbáorằngnóđangonline.Nếugiátrị=truethìnóđườngCDđangởmứccao,nếu=falsethìđườngdâynàyđangởmứcthấp. Tính chấtnàykhôngcótronglúcthiếtkếchỉcótrongkhichạychương trình. CarrierDetectđượcbiếtnhưlàReceiveLineSignalDetect(RLSD).+CTSHolding:quếtđịnhkhinàobạngửidữliệubằngcáchtruyvấntrạngtháiđườngClearToSend(CTS).ThôngthườngtínhiệuCTSđượcgửitừmodemtới máytính kếtnốivớinóđểbáorằngđangquá trình truyềndữliệu.Thuộc tính Readonlychỉxuấthiệnkhichạychương trình. ĐườngClearToSenddùngtrongRTS/CTS(RequestToSend/ClearToSend)bắttayphầncứng.CTSHoldingchobạnmộtcáchđểtựtaydòđườngClearToSendnếubạncầnbiếttrạngtháicủanó.+DSRHolding:biếttrạngtháicủađườngDataSetReady(DSR).TínhiệuDataSetReadytruyềntừmodemtới máytính nốivớinóđểthôngbáorằngmodemđãsẵnsànghoạtđộng. Tính chấtnàydùngkhiviếtDataSetReady/DataTerminalReadyhandshakingroutinecho máy DataTerminalEquipment(DTE)‐ máy trangbịđầucuốidữliệu.+DTREnable: tính chấtnàyquyếtđịnhkhinàochophépđườngDataTerminalReady(DTR)trongtruyềnthông.TínhiệuDTRgửitừ máytính tớimodemđẻbáorằng máytính sẵnsànglànơinhậndữliệu.KhiDTREnable=truethìđườngDataTerminalReadysetlêncaokhi cổng mở,vàthấpkhi cổng đóng.NếuDTREnable=falsethìđườngđóluônmứcthấp.TrongphầnlớntrườnghợpsetđườngDataTerminalReadythànhthấpđểhanguptelephone.Ngườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:46/78Hình2.64:Thuộc tính IDcủaCombo1Hình2.65:Thuộc tính IDcủaCombo3 ... ĐiềukhiểnMSCommtrongVisualC++TrênđâylàcácthamsốcủađiềukhiểnMSCommtrongVB.TrongVisualC++,mỗimộtđiềukhiểnđượcđịnhnghĩatrongmộtlớpriêng.VàMSCommcũngkhôngphảilàngoạilệ.Vớicácthamsốởtrêncácbạnhoàntoàncóthểápdụngrấtlàtốtcho lậptrình vớiVC++bởilẽcácthamsốnàybạncóthểlấygiátrịhoặcthiết lập thamsốchochúngtươngứngbằngcáchàmthànhviêncửalớpnhưGet_thuộctínhhoặcSet_thuộctính.Vídụ,bạnmuốnthiết lập dùng cổng COM1chẳnghạnthìdùngthuộc tính CommPortởtrênvàchỉthêmtiềntốSet_nếumuốnthiết lập vàGet_nếumuốnlấygiátrịnày.SauđâylàlớpMSCommlàmộtlớpkếthừatừlớpcởsởCWnd,cácbạncóthểthamkhảo.Cácbạnchúývềcáckiềudữliệucửacácthamsốvàgiátrịtrảvềcủacáchàm.ViệcNgườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:13/781.3....
... ĐiềukhiểnMSCommtrongVisualC++TrênđâylàcácthamsốcủađiềukhiểnMSCommtrongVB.TrongVisualC++,mỗimộtđiềukhiểnđượcđịnhnghĩatrongmộtlớpriêng.VàMSCommcũngkhôngphảilàngoạilệ.Vớicácthamsốởtrêncácbạnhoàntoàncóthểápdụngrấtlàtốtcho lậptrình vớiVC++bởilẽcácthamsốnàybạncóthểlấygiátrịhoặcthiết lập thamsốchochúngtươngứngbằngcáchàmthànhviêncửalớpnhưGet_thuộctínhhoặcSet_thuộctính.Vídụ,bạnmuốnthiết lập dùng cổng COM1chẳnghạnthìdùngthuộc tính CommPortởtrênvàchỉthêmtiềntốSet_nếumuốnthiết lập vàGet_nếumuốnlấygiátrịnày.SauđâylàlớpMSCommlàmộtlớpkếthừatừlớpcởsởCWnd,cácbạncóthểthamkhảo.Cácbạnchúývềcáckiềudữliệucửacácthamsốvàgiátrịtrảvềcủacáchàm.ViệcNgườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:38/78Hình2.49:ThêmButton3Hình2.50:Tạo3ButtoncócùngkíchthướcNgườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:1/78Tutorialno01.02Gửiđến:ĐoànHiệp,DoãnMinhĐăng,HuỳnhChâuThuậnpicvietnam@googlegroups.comNộidung: Lập trìnhgiaotiếpmáytínhquacổngRS232 MICROSOFTWORDTómtắt:Vấn giaotiếp giữaPCvàviđiềukhiểnrấtquantrongtrongcácứngdụngđiềukhiển,đol ... ThêmcácGroupBoxHình2.17:ThêmGroupBox1Hình2.18:ThêmGroupBox2Ngườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:36/78Hình2.45:ChọnPropertiesHình2.46:Thuộc tính củaEditBoxNgườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:26/78Hình2.25:ThêmGroupBox9Thayđổithuộc tính choGroupBox1:Ngườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:44/78Hình2.61:TạochocáccomboBoxcócùngchiềurộngChúý:RiêngvớiComboBoxthìcácbạnphảikéosaochochiềucaocủađiềukhiểnphảiđủlớnđểchứacácdữliệunằmtrongnósaunàynếukhôngthìbạnsẽchẳngthấynóhiểnthịgìhoặclàsẽthấycóthanhcuộn.Tốtnhấtlàkéodàithoảimáiđi.ĐểđiềuchỉnhchiềucaocủacácComboBoxnhưsau:DichuộtđếnComboBoxđểcontrỏchuộtnằmtrênnútxổxuốngcủađiềukhiểnsauđókíchchuộttrái1lần.KhiđóbạnsẽcóthểcodãnchiềucaocủaComboBoxthoảimáiNgườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:47/78Hình2.66:Thuộc tính IDcủaCombo5Hình2.67:Thuộc tính IDcủaCombo2Ngườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:39/78Hình2.51:ChọnPropertiesHình2.52:Thuộc tính củaButton1Ngườibáocáo:NgôHảiBắcTàiliệu:TUT01.03Ngày:10/01/06Trang:5/78truyền.value=falsekítựtrốngsẽđượctruyền.KítựtrốngđượcđịnhnghíatheochuẩnASCIIlàkítự0–chr$(0).+OutBuferSize:giốngnhưInBuferSize,mặcđịnhlà512.+ParityReplace:thiết lập vàtrảlạikítựthaythếkítựkhôngđúngtronglỗigiốngnhau.+PortOpen:thiết lập vàtrảlại tính trạngcủa cổng( đónghoặcmở).object.PortOpen[=value].value=true cổng mở.value=false cổng đóngvàxóatoànbộdữliệutrongbộđệmnhậnvàtruyền.Cầnphảithiết lập thuộc tính CommPortđúngvớitêncủa cổng trướckhimở cổnggiao tiếp. Thêmvàođó, cổnggiaotiếp củathiếtbịcủabạnphảihỗtrợgiátrịtrongthuộc tính Settingthìthiếtbịc ... Cácthuộc tính củaMSCommMSCommlàmộtđiềukhiểnActiveXdùngtrongtruyềnthôngnối tiếp. Các tính chấtcủađiềukhiểnnàyđượcdùngđểthiết lậpgiaotiếp vớicácthiếtbịngoạivi quacổng RS232. DođótôixingiớithiệuvớicácbạnđiềukhiểnnàytrongVisualBasicvìcáchgọithuộc tính đơngiảncủaVB.Từđósẽlấylàmcơsởđể lậptrình trênVisualC++.1.2.1....
... chuẩn RS232, do vậy muốn kết nối với máy vi tính phải qua mạch Chuyển điện áp từ mức tín hiệu RS232 sang TTL và ngược lại. (Xem Mạch giaotiếp RS232) . Chuẩn RS232: • Mức thấp (logic 0) có trị ... lần xem | 9 phản hồi » Như đã giới thiệu về cổnggiaotiếpRS232 ở bài trước, hiện nay loại cổng này rất hiếm gặp trên các Laptop (ở mainboard máy bàn thì còn). Nên khi mọi người khi cần sử ... giờ sản phẩm thực tế ít ai giaotiếpquacổng RS232, phải chạy đi mua thêm cable chuyển. Trong bài viết này mình sẽ giới thiệu và mạch dùng để chuyển từ USB sang RS232 dùng IC PL2303. Giá làm...
... Giao tiếpmáytínhquacổng COM 28-08-2009 | Rainbowsmile | 2,105 lần xem | 4 phản hồi » Cổng nối tiếpRS232 là một giao diện phổ biến rộng rãi. Người ta còn gọi cổng này là cổng COM1, ... cổng COM2 để tự do cho các ứng dụng khác. Giống như cổng song song máy in, cổng COM cũng được sử dụng một cách thuận tiện cho việc giaotiếp với thiết bị ngoại vi. Việc truyền dữ liệu quacổng ... lần xem | 9 phản hồi » Như đã giới thiệu về cổnggiaotiếpRS232 ở bài trước, hiện nay loại cổng này rất hiếm gặp trên các Laptop (ở mainboard máy bàn thì còn). Nên khi mọi người khi cần sử...
... điện giao tiếpmáytính thông quacổng USB. Các nhiệm vụ cụ thể là :• Tìm hiểu chuẩn giaotiếp USB.• Tìm hiểu các dòng vi điều khiển hỗ trợ giaotiếp USB.• Tìm hiểu giaotiếp USB thông qua ... thiệuĐo nhiệt độ giaotiếpmáytínhquacổng usb Trang 28/384.3 Lưu đồ gải thuật4.3.1 Lưu đồ MAINChương 4 Sơ đồ khối và lưu đồ giải thuậtĐo nhiệt độ giaotiếpmáytínhquacổng usb Trang 37/38 ... THUYẾT LIÊN QUAN CỦA ĐỀ TÀI 43.1 Chuẩn giaotiếp USB 43.1.1 Giới thiệu chuẩn giaotiếp USB 43.1.2 Đặc tínhcổng USB 43.1.2.1 Đặc tính cơ 43.1.2.2 Đặc tính điện 53.1.2.3 Giaotiếp USB 53.1.2.4...
... quá trình nạp xả của tụ diễn ra thuận lợi hơn. Tần số ngõ ra của UJT được điều chỉnh bằng điện áp ngõ ra của khối hồi tiếp. Khi điện áp từ khối hồi tiếp đưa về thay đổi làm cho quátrình ... đồ ba pha hình tia mắc nối tiếp và độc lập với nhau. Điện áp chỉnh lưu của sơ đồ này sẽ là tổng các điện áp chỉnh lưu của hai sơ đồ riêng biệt. Lúc đó, ta có thể tính: 3. Ưu điểm của mạch ... văn Tốt Nghiệp Chương IV: Thiết tính I. Mạch một pha 1. Khối đồng bộ 2. Tạo xung kích II. Thiết tính mạch ba pha 1. Mạch dịch pha 2. Mạch tích phân 3. Tính mạch retriggerable 4. Mạch...
... máytính này sang máytính khác. •Các chân ra của D-9 và D-25 được trình bày dưới đây:11 Giao tiếpquacổng RS232 12 Giao tiếpquacổng RS232 13 Giao tiếpquacổng RS232 14 Giao tiếpquacổng ... THUẬT LẬP TRÌNHCHƯƠNG 9LẬP TRÌNHGIAOTIẾPMÁYTÍNH VÀTHIẾT BỊ2Mục lục chương 9•9.1. Giaotiếpquacổng RS232 •9.2. Giaotiếpquacổng song song•9.3. Giaotiếpquacổng nối tiếp •9.4. Giaotiếp ... Giaotiếpquacổngmáy in3 GIAO TIẾPQUACỔNG RS232 CHƯƠNG 94 Giao tiếpquacổng RS232 • CổngRS232 l cổng thông dụng nhất trong truyền dữ liệu giữa máytính vàthiết bị•Mặc d cổngRS232 phức...
... máytính .Ta quy ước máy truyền dữ liệu là máy Master ,máy nhận dữ liệu là máy Slave:2.2 Công cụ lậptrình Ngôn ngữ lậptrình ta lựa chọn là ngôn ngữ lậptrình C.Đây là một ngôn ngữ lập trình ... việc lậptrình hệ thống tốt,là một ngôn ngữ đuợc lụa chọn nhiều cho việc lậptrình hệ thống và điều khiển. Giao diện LPT thực hiện giaotiếp trực tiếpqua các thanh ghi do đó khi thực hiện giao ... tiếp giữa máytính và thiết bị ngoại vi để thu tín hiệu vào và xuất tín hiệu điều khiển ra, công việc này dược thực hiện qua các cổnggiaotiếp ví dụ :Cổng LPT ,cổng COM,khe cắm PCI ,cổng USB...
... độc lập thông qua mạng thuê bao điện thoại. Ngày nay thông tin liên lạc phát triển cao, để có thể làm việc có hiệu quả thì tại các thuê bao côngcộng ta có thể đặt một máytính cước, máy này ... xuất hiện. Khi đó hệ thống tính cước của tổng đài sẽ bắt đầu thực hiện việc tính cước đàm thoại cho thuê bao gọi. Ở các trạm côngcộng có trang bị máytính cước, khi cơ quan bưu điện sẽ cung cấp ... VỀ MÁY ĐIỆN THOẠI I. NGUYÊN LÝ THÔNG TIN ĐIỆN THOẠI: Thông tin điện thoại là quátrình truyền đưa tiếng nói từ nơi này đến nơi khác, bằng dòng điện quamáy điện thoại. Máy...