0

lập trình nc bằng máy tính

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

... Đ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: 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ình giao tiếp máy tính qua cổng RS232 ... Thêm các EditBox  Hình 2.40: Thêm EditBox1 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áy tí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áy tí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áy tí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áy tính tới modem đẻ báo rằng máy tí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: 10/78    ... 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 ...
  • 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

... 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: 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   ... Đ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. ... 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áy tí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áy tí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áy tí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áy tính tới modem đẻ báo rằng máy tí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....
  • 78
  • 1,091
  • 3
Lập bản vẽ kĩ thuật bằng máy tính

Lập bản vẽ kĩ thuật bằng máy tính

Công nghệ

... Thanh TùngLớp: 11A LẬP BẢN VẼ KĨ THUẬT BẰNG MÁY TÍNH ĐIỆN TỬBài 13Tiết 16III.Khái quát về phần mềm Autocad2. Mô hình vật thể 3 chiều LẬP BẢN VẼ KĨ THUẬT BẰNG MÁY TÍNH ĐIỆN TỬBài 13Tiết ... nặng nhọc và đơn điệu. CHUNG CƯ SONG LẬP VÀ CÁC BIỆT THỰ LẬP BẢN VẼ KĨ THUẬT BẰNG MÁY TÍNH ĐIỆN TỬBài 13Tiết 16II.Khái quát về hệ thống VKT bằng máy tính 1. Phần cứng ... CHIẾU PHỐI CẢNH CỦA TRƯỜNG HỌC TRÊN LẬP BẢN VẼ KĨ THUẬT BẰNG MÁY TÍNH ĐIỆN TỬBài 13Tiết 16I. Khái niệm chungLà bản vẽ được lập với sự trợ giúp của máy tính có các ưu điểm sau: Bản vẽ chính...
  • 9
  • 901
  • 1
Bai 13. Lap ban ve ky thuat bang may tinh

Bai 13. Lap ban ve ky thuat bang may tinh

Công nghệ

... THUẬT BẰNG MÁY TÍNH:THUẬT BẰNG MÁY TÍNH: 1.Phần cứng1.Phần cứng 2.Phần mềm2.Phần mềm GV. Lê Thái Trung - Trường THPT Phạm Phú Thứ - TP. Đà Nẵngnhận xét công việc lập bản vẽ bằng ... nhận xét tiến trình lập bản vẽ kó thuật bằng tay::(chốt ý)-Em nhận thấy việc lập một bản vẽ bằng tay thế nào ? Có nhanh chóng ? -Em nhận thấy nó có chính xác không ? hay chỉ mang tính tương ... làm mất đi tính thẩm mó của bản vẽ không ?Em có cảm thấy mệt mỏi và nhàm chán khi phải đơn độc thực hiện lập bản vẽ kó thuật bằng tay ?Em nghó thế nào khi phải lưu trữ bản vẽ bằng tay vớiù...
  • 3
  • 1,076
  • 8
ĐẠO HÀM VÀ GIẢI PHƯƠNG TRÌNH BẰNG MÁY TÍNH CẦM TAY

ĐẠO HÀM VÀ GIẢI PHƯƠNG TRÌNH BẰNG MÁY TÍNH CẦM TAY

Toán học

... mới tính đạo hàm .II/ TÍNH GIÁ TRỊ HÀM SỐ :Bài 1: Cho hàm số y=x3-3x2-4a/ Tính y(0)=3 20 3.0 4 0 0 4 4− − = − − = − . Chú ý : Để tính y(0) , ta thế x=0 vào pt y=x3-3x2-4b/ Tính ... f(x)=4 22 4x x− − + . a/ Tính f(0)= 4 20 2.0 4 0 0 4 4− − + = − − + = b/ Tính f(-1)=4 2( 1) 2( 1) 4 1 2 4 1− − − − + = − − + = . Số âm mũ chẵn bằng số dương .c/ Tính f(-2)=4 2( 2) 2( ... 2xx−− .a/ Tính y(0)= 3.0 4 423.0 2 2− −= =− − . Chú ý : Để tính y(0) , ta thế x=0 vào pt y=3 43 2xx−−b/ Tính y(1)= 3.1 4 3 4 113.1 2 3 2 1− − −= = = −− −. Chú ý : Để tính y(1)...
  • 5
  • 23,138
  • 106
Giáo trình lắp ráp, sữa chữa máy tính

Giáo trình lắp ráp, sữa chữa máy tính

Tư liệu khác

... vít rơi vào máy, khi lắp vít tránh gâychập mạchBài 2 (3 tiết) Quy trình cài đặt máy vi tính 2.1 Quy trình cài đặt máy vi tính Máy vi tính sau khi lắp ráp hoặc sửa chữa phải cài đặt máy. Mặt khác,đa ... CHỮA MÁY VI TÍNHBài 1 (2 tiết): Nhập môn lắp ráp và sửa chữa máy vi tính 1.1 Cấu hình một máy vi tính Máy vi tính đầu tiên ra đời vào 1981 do IBM đưa ra. Nó nhanh chóngchiếm được thị trường. Máy ... phải nắm chắcquy trình cài đặt một máy vi tính để khắc phục. Quy trình cài đặt một máy vi tính gồm 5 bước cơ bản sau:- B1: Lưu (Back_up) số liệu hiện có trên máy. Đối với máy lắp mới thìbỏ...
  • 52
  • 2,165
  • 39
Quy trình thiết lập multilink PPP cho máy tính kết nối internet

Quy trình thiết lập multilink PPP cho máy tính kết nối internet

Quản trị mạng

... từ một máy tính này đến một máy tính khác trên mạng TCP/IP mh trên internet. Anonymous FTP serverhay anonymous ftp là các máy chủ FTP không đòi hỏi ngời sử dụng phải đăng ký trớc. Máy chỉ ... một hệ thống máy tính. Root có toàn quyền với hệ điều hành, có thể làm đợc mọi thao tác mà máy tính cho phép. Thông thờng root là ngời chịu trách nhiệm đảm bảo cho hệ thống máy tính làm việc ... tên của một máy tính trong mạng TCP/IP. DNS cho phép tìm địa chỉ dựa trên tên và tên theo địa chỉ. NFS Network File System - Hệ thống file trên mạng máy tính. NFS cho phép một máy tính sử dụng...
  • 23
  • 539
  • 0
Quy trình thiết lập Multilink PPP cho máy tính kết nối internet

Quy trình thiết lập Multilink PPP cho máy tính kết nối internet

Quản trị mạng

... tên của một máy tính trong mạng TCP/IP. DNS cho phép tìm địa chỉ dựa trên tên và tên theo địa chỉ. NFS Network File System - Hệ thống file trên mạng máy tính. NFS cho phép một máy tính sử dụng ... từ một máy tính này đến một máy tính khác trên mạng TCP/IP mh trên internet. Anonymous FTP serverhay anonymous ftp là các máy chủ FTP không đòi hỏi ngời sử dụng phải đăng ký trớc. Máy chỉ ... một hệ thống máy tính. Root có toàn quyền với hệ điều hành, có thể làm đợc mọi thao tác mà máy tính cho phép. Thông thờng root là ngời chịu trách nhiệm đảm bảo cho hệ thống máy tính làm việc...
  • 23
  • 594
  • 0
Tài liệu Giáo trình Lắp ráp - Cài đặt máy tính

Tài liệu Giáo trình Lắp ráp - Cài đặt máy tính

Tư liệu khác

... vít rơi vào máy, khi lắp vít tránh gây chập mạchBài 2 (3 tiết) Quy trình cài đặt máy vi tính 2.1 Quy trình cài đặt máy vi tính Máy vi tính sau khi lắp ráp hoặc sửa chữa phải cài đặt máy. Mặt khác, ... CHỮA MÁY VI TÍNHBài 1 (2 tiết): Nhập môn lắp ráp và sửa chữa máy vi tính 1.1 Cấu hình một máy vi tính Máy vi tính đầu tiên ra đời vào 1981 do IBM đưa ra. Nó nhanh chóng chiếm được thị trường. Máy ... phải nắm chắc quy trình cài đặt một máy vi tính để khắc phục. Quy trình cài đặt một máy vi tính gồm 5 bước cơ bản sau:- B1: Lưu (Back_up) số liệu hiện có trên máy. Đối với máy lắp mới thì bỏ...
  • 52
  • 1,588
  • 26
Bài soạn T40:giai he phuong trinh bang may tinh CASIO

Bài soạn T40:giai he phuong trinh bang may tinh CASIO

Toán học

... các bớc giảI hệ phơng trình bằng phơng pháp cộng, phơng pháp thế- Xem lại cách giải hệ phơng trình bằng máy tính CASIO- Xem lại các bớc giải bài toán bằng cách lập phơng trình làm bài tập: . ... :- máy chỉ giải đợc hệ phơng trình có nghiệm duy nhất . nếu phơng trình vô nghiệm hoặc vô số nghiệm thì máy sẽ báo lỗi. lúc đó trên màn hình suất hiện Math ERROR - Ta thờng sử dụng máy tính ... vào máy tính Bấm máy: 3 = ( xuất hiện b1) 2 = ( xuất hiện c1) 1 = (xuất hiện a2) 2 = ( xuất hiện b2) -3 = ( xuất hiện c2) 5 =( xuất hiện x= ) = ( xuất hiện y = )Gv. Giải hệ phơng trình =+=232553yxyxHs....
  • 3
  • 1,335
  • 8
CHƯƠNG TRÌNH DAY NGHỀ ̣ NGẮN HẠN.LẮP RÁP, SỬA CHỮA MÁY TÍNH pptx

CHƯƠNG TRÌNH DAY NGHỀ ̣ NGẮN HẠN.LẮP RÁP, SỬA CHỮA MÁY TÍNH pptx

Hệ điều hành

... hình bằng hình vẽ để ví dụ minh hoạ (Nêú có )- Dụng cụ trang thiết bị: + Các loại kèm bấm+ Máy hàn+ Máy chiếu qua đầu+ Máy chiếu đa phương tiện.+ Máy vi tính + Máy in- Học liệu: Bộ tranh bằng ... các bộ phận trong máy tính - Phương pháp lắp đặt, thiết lập Bios và cài đặt máy tính. 4. Tài liệu cần tham khảo:- Hướng dẫn kỹ thuật lắp ráp, cài đặt nâng cấp bảo trì máy tính đời mới; Tác ... trang thiết bị: + Máy chiếu đa phương tiện, máy tính cá nhân.+ Các máy tính cho thực hành.+ Đĩa phần mềm SQL, Frontpage.+ Mỏ hàn+ Các thiết bị ngoại vi+ Máy khò+ VOM+ Máy tạo xung+ Dao...
  • 50
  • 2,263
  • 43

Xem thêm