0

lập trình giao tiếp máy tính bằng c

Lập trình giao tiếp máy tính qua cổng RS232

Lập trình giao tiếp máy tính qua cổng RS232

Công nghệ thông tin

... long GetCommID(); Người báo c o: Ngô Hải B c Tài liệu: TUT01.03 Ngày: 10/01/06 Trang: 49/78   Hình 2.70: Thu c tính Type: DropList c a c c ComboBox chung  C c bạn sau kiểm tra c c thu c tính c a c c điều khiển bằng bảng sau: STT  Đối tượng  Thu c tính Thiết lập 1  MSComm  ID  IDC_MSCOMM1 2  ComboBox  ID Style IDC_COMBO_COMPORT Droplist 3  ... 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: 3/78   Hình 1.3: Chọn Properties c a Communication Port( COM1)   Hình 1.4: Chọn thẻ Port Setting để biết tham số  Đó chính là lí do tại sao tôi lại chọn c c tham số đưa vào trong c c ComboBox như ở dưới chương trình này.  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: 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: 9/78  chuyển đổi giữa c c kiểu dữ liệu này c c bạn c  thể tham khảo tại  thư viện MSDN Microsoft July 2001 bằng c ch Search Key Word: chính là c c từ khoá chỉnh là c c kiểu dữ liệu đó.( như CString,…)  class CMSComm : public CWnd { protected:   DECLARE_DYNCREATE(CMSComm) public:   CLSID const& GetClsid()   {   static CLSID const clsid   = { 0x648a5600, 0x 2c6 e, 0x101b, { 0x82, 0xb6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x14 } };   return clsid;   ... Điều khiển MSComm trong Visual Basic Tất c c c tính chất này bạn c  thể tìm tại thư viện MSDN July 2001 theo đường dẫn như sau ở tab contents: MSDN Library ‐  July 2001 / Visual Tools and Languages/ Visual Studio 6.0 Documentation / Visual Basic Documentation / Reference/  Control Reference / ActiveX Control/ MSComm Control  C c tính chất c a MSComm đư c sắp xếp theo ch c năng:  Thiết lập tham số cho c ng:  + CommID: trả lại handles đồng nhất tới thiết bị truyền thông, c  kiểu Long. Tính chất này không c  l c thiết kế mà chỉ c  khi thi hành, thu c tính này là ReadOnly.  + CommPort: dạng object.CommPort = value. Value là chỉ số c a c ng Com c  giá trị từ 1 ‐> 16 và m c định c  giá trị =1. C c bạn c n phải thiết lập thông số này trư c khi mở c ng. Sẽ c  lỗi error 68 (Device unavailable) nếu như không mở đư c c ng này.  + InBuferSize: thiết lập ho c trả lại kích thư c c a bộ đệm nhận, tính = byte. M c định là 1024 byte. C c bạn không đư c nhầm lẫn với đ c tính InBufferCount là số byte đang chờ trong bộ đệm nhận. + InputLen : object.InputLen [ = value ] thiết lập ho c trả lại số  byte mỗi lần thu c tính Input đ c trong bộ đệm nhận. M c định giá trị Value=0 t c là thu c tính Input sẽ đ c hết nội dung c a bộ đệm nhận khi thu c tính này đư c gọi. Nếu số kí tự trong bộ đệm nhận không = InputLen thì thu c tính Input sẽ trả lại kí tự rỗng “”. Ví thế bạn c n phải chọn  c ch kiểm tra InBufferCount để ch c chắn số kí tự yêu c u đã c  đủ trư c khi dùng lệnh .Input. Tính chất này rất là c  ích khi đ c dữ liệu một máy mà dữ liệu ra đư c định dạng  bằng c c khối c  kích thư c c  định.  + InputMode: object.InputMode [ = value ] .  Value = 0 hay = comInputModeText dữ liệu nhận đư c dạng văn bản kiểu kí tự theo chuẩn ANSI. Dữ liệu nhận đư c sẽ là một sâu.        Value=1 hay = comInputModeBinary dùng nhận mọi kiểu dữ liệu như kí tự điều khiển nhúng, kí tự NULL,...
  • 78
  • 3,096
  • 7
Lập trình giao tiếp máy tính qua cổng RS232

Lập trình giao tiếp máy tính qua cổng RS232

Công nghệ thông tin

... Viết mã cho chương trình 2.3.1. Thêm c c biến, c c hàm thành viên Để viết mã cho chương trình thì c c bạn c n phải thêm c c biến cho c c điều khiển. Từ menu View chọn Class Wizard. Chọn tab MemberVariables. Chọn lớp CRS232TUTDlg  Hình 2.71: Chọn MFCClassWizard tab Member Variables, chọn AddVariable ... Đ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ập trì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. ... Đ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ập trì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....
  • 78
  • 1,091
  • 3
LẬP TRÌNH GIAO TIẾP MÁY TÍNH QUA CỔNG RS232

LẬP TRÌNH GIAO TIẾP MÁY TÍNH QUA CỔNG RS232

Điện - Điện tử

... 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ập trì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ố giao tiế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:9/78chuyểnđổigiữa c c kiểudữliệunày c c bạn c thểthamkhảotạithưviệnMSDNMicrosoftJuly2001 bằng c chSearchKeyWord:chínhlà c c từkhoáchỉnhlà c c kiểudữliệuđó.(nhưCString,…)classCMSComm:publicCWnd{protected: DECLARE_DYNCREATE(CMSComm)public: CLSIDconst&GetClsid() {staticCLSIDconstclsid={0x648a5600,0x 2c6 e,0x101b,{0x82,0xb6,0x0,0x0,0x0,0x0,0x0,0x14}};returnclsid; ... 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 giao tiếp RS232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ập trình ứngdụng giao tiế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....
  • 20
  • 782
  • 11
Đồ án: Lập trình giao tiếp máy tính qua cổng RS232 pps

Đồ án: Lập trình giao tiếp máy tính qua cổng RS232 pps

Công nghệ thông tin

... Giátrịnhậnđư c từInputsẽlàmộtmảngkiểuByte.+NullDiscard:object.NullDiscard[=value] tính chấtnàyquyếtđịnhkítựtrống c đư c truyềntừ c ngđếnbộđệmnhậnhaykhông.Nếuvalue=Truekítựnàykhôngđư c Ngườibáo c o:NgôHảiB c Tàiliệu:TUT01.03Ngày:10/01/06Trang:25/78Hình2.23:ThêmGroupBox7Hình2.24:ThêmGroupBox8Ngườibáo c o:NgôHảiB c Tàiliệu:TUT01.03Ngày:10/01/06Trang:49/78Hình2.70:Thu c tính Type:DropList c a c c ComboBoxchung C c bạnsaukiểmtra c c thu c tính c a c c điềukhiển bằng bảngsau:STT Đốitượng Thu c tính Thiết lập 1 MSComm ID IDC_MSCOMM12 ComboBox ... ĐiềukhiểnMSCommtrongVisualBasicTất c c c tính chấtnàybạn c thểtìmtạithưviệnMSDNJuly2001theođườngdẫnnhưsauởtabcontents:MSDNLibrary‐July2001/VisualToolsandLanguages/VisualStudio6.0Documentation/VisualBasicDocumentation/Reference/ControlReference/ActiveXControl/MSCommControl C c tính chất c aMSCommđư c sắpxếptheoch c năng:Thiết lập thamsốcho c ng:+CommID:trảlạihandlesđồngnhấttớithiếtbịtruyềnthông, c kiểuLong. Tính chấtnàykhông c l c thiếtkếmàchỉ c khithihành,thu c tính nàylàReadOnly.+CommPort:dạngobject.CommPort=value.Valuelàchỉsố c a c ngCom c giátrịtừ1‐>16vàm c định c giátrị=1. C c bạn c nphảithiết lập thôngsốnàytrư c khimở c ng.Sẽ c lỗierror68(Deviceunavailable)nếunhưkhôngmởđư c c ngnày.+InBuferSize:thiết lập ho c trảlạikíchthư c c abộđệmnhận, tính =byte.M c địnhlà1024byte. C c bạnkhôngđư c nhầmlẫnvớiđ c tính InBufferCountlàsốbyteđangchờtrongbộđệmnhận.+InputLen:object.InputLen[=value]thiết lập ho c trảlạisốbytemỗilầnthu c tính Inputđ c trongbộđệmnhận.M c địnhgiátrịValue=0t c làthu c tính Inputsẽđ c hếtnộidung c abộđệmnhậnkhithu c tính nàyđư c gọi.Nếusốkítựtrongbộđệmnhậnkhông=InputLenthìthu c tính Inputsẽtrảlạikítựrỗng“”.Víthếbạn c nphảichọn c chkiểmtraInBufferCountđểch c chắnsốkítựyêu c uđã c đủtrư c khidùnglệnh.Input. Tính chấtnàyrấtlà c íchkhiđ c dữliệumột máy màdữliệurađư c địnhdạng bằng c c khối c kíchthư c c định.+InputMode:object.InputMode[=value].Value=0hay=comInputModeTextdữliệunhậnđư c dạngvănbảnkiểukítựtheochuẩnANSI.Dữliệunhậnđư c sẽlàmộtsâu.Value=1hay=comInputModeBinarydùngnhậnmọikiểudữliệunhưkítựđiềukhiểnnhúng,kítựNULL, ... 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:35/78Hình2.43:Thiết lập thu c tính ReadOnlyvàMultiLineHình2.44:ThêmEditBox2Ngườibáo c o:NgôHảiB c Tàiliệu:TUT01.03Ngày:10/01/06Trang:4/781.2. 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ập giao tiếp với c c thiếtbịngoạiviqua c 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ập trình trênVisual C+ +.1.2.1....
  • 79
  • 521
  • 1
CHƯƠNG 9 LẬP TRÌNH GIAO TIẾP MÁY TÍNH VÀ THIẾT BỊ ppsx

CHƯƠNG 9 LẬP TRÌNH GIAO TIẾP MÁY TÍNH VÀ THIẾT BỊ ppsx

Kỹ thuật lập trình

... TRÌNHCHƯƠNG 9LẬP TRÌNH GIAO TIẾP MÁY TÍNH VÀTHIẾT BỊ2M c l c chương 9•9.1. Giao tiếp qua c ng RS232•9.2. Giao tiếp qua c ng song song•9.3. Giao tiếp qua c ng nối tiếp •9.4. Giao tiếp qua c ng máy ... ta c n c một đầu “đ c để kết nối từ máy tính này sang máy tí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ếp qua c ng RS23212 Giao tiếp qua c ng RS23213 Giao tiếp ... RS23213 Giao tiếp qua c ng RS23214 Giao tiếp qua c ng RS23215 Giao tiếp qua c ng RS232 C c thiết bị dùng c c cổng nối tiếp cho giao tiếp đư c phân làm hai loại. Chúng gồm DCE (Data Communications Equipment)...
  • 20
  • 402
  • 2
Vi điều khiển 89s51 giao tiếp máy tính bằng phần mềm Visual C

Vi điều khiển 89s51 giao tiếp máy tính bằng phần mềm Visual C

Điện - Điện tử

... CHỌN C NG COM X KHÔNG C TÊN SAU ĐÂY(TÙY THU C VÀO MỖI MÁY):Giả sử chọn c ng COM1 (nếu chọn c ng COM kh c thì phải vào VC++ chỉnh lại tên c ng com trong hàm Setting())Chọn COM1 kết nối COM4=>Chạy ... tên cho nút nhấn:B2: thêm MSCOMM(dùng để điều khiển c ng com) vào project/Add to project/components and control:Xuất hiện dialog:Chọn Microsoft communication Click OkThiết lập thông số cho ... COM4=>Chạy PROTEUS:Vẽ mạchNẠP chương trình cho vđk:Chọn file hex đã dịch trên keilcThêm file dkleddon .c vào projectB1 :Lập trình điều khiển đèn LED1 và LED2 qua c c nút nhấn trên giao diện máy...
  • 15
  • 814
  • 0
GIAO TIẾP MÁY TÍNH - VĐK SỬ DỤNG C# VÀ VB

GIAO TIẾP MÁY TÍNH - VĐK SỬ DỤNG C# VÀ VB

Công nghệ thông tin

... c ng Com ảo 3 1.2 Mạch mô phỏng vi điều khiển giao tiếp máy tính 3 1.3 Lập trình cho VĐK sử dụng Keil C 6 1.3.1 C cc xây dựng dự án Keil C 6 1.3.2 C u tr c cơ bản một chương trình C cho ... trư c khi th c hiện c cc tiếp theo bằng c c bấm Ctrl + S hay Click biểu tượng Save trên thanh c ng c . Đặt tên cho Form và Click nút Save. BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính ... sẽ c những c p c ng com đư c nối với nhau, như COM1  COM2, COM4  COM5 1.2 Mạch mô phỏng vi điều khiển giao tiếp máy tính Khởi động chương trình mô phỏng mạch Proteus, lấy c c linh kiện c n...
  • 84
  • 2,507
  • 17
Thiết kế hệ thống băng tải đóng gói sản phẩm điều khiển bằng bàn phím và giao tiếp máy tính

Thiết kế hệ thống băng tải đóng gói sản phẩm điều khiển bằng bàn phím và giao tiếp máy tính

Điện - Điện tử - Viễn thông

... Báo C o Th c Tập C ng Nhân Trang 6 c. Port2: là một c ng c c ng dụng kép trên c c chân 21 – 28 c a MC 8951. Ngoài ch c năng I/O, c c chân này dùng làm 8 bit cao c a bus địa chỉ cho những ... để cho phép đ c c c byte mã lệnh c a chương trình. Tín hiệu PSEN ở m c thấp trong suốt phạm vi quá trình c a một lệnh. C c mã nhị phân c a chương trình đư c đ c từ EPROM qua bus và đượ c chốt ... PWM4P3.4P0.5RXDP1.6P0.2P0.7P0.6P0.0P1.3TXDP3.2P1.7VCC5VVCC5Vvcc5vVCC5VVCC5VGNDPWM3PWM2PWM1DK PWM1DK PWM2DK PWM3DK PWM4 C PWM2 C PWM3 C PWM4 C PWM1VCC5VVCC5VVCC5VVCC5VP1.3P0.6P1.1P3.4P0.5P1.0P3.2P1.6P0.4P1.5P1.2P0.0P0.2P0.7P0.3P1.7P0.1P3.3P1.4P3.5Q13D468R24330...
  • 50
  • 1,239
  • 2
Thiết kếhệthống băng tải đóng gói sản phẩm  điều khiển bằng bàn phím và giao tiếp máy tính

Thiết kếhệthống băng tải đóng gói sản phẩm điều khiển bằng bàn phím và giao tiếp máy tính

Công nghệ thông tin

... -5% B c kim -2 -10% C ch đ c: Vạch màu cuối c ng là vạch sai số. Đối với mạch điện tử dân dụng thì ta không quang tâm tới vạch này. Nhưng đối với mạch c độ chính x c cao thì c n chú ý ... định cuộn dây c bị đ c hay không. Khi chạm cuộn dây thì ta chỉ c kiểm tra bằng th c tế. 4. DIODE. Điode nắn điện. Diode chỉ hoạt động dẫn dòng điện từ c c A sang c c K ( Khi tiếp x c ... Khi tiếp x c PN đư c phân c c thuận). Khi phân c c nghịch vư c điện áp chịu đựng P N Báo C o Th c Tập C ng Nhân Trang 49 procedure TForm1.comportRxChar(Sender: TObject; Count: Integer); var...
  • 50
  • 721
  • 0

Xem thêm