|
Tài trợ cho PIC Vietnam |
Matlab-Simulink & Labview & 20-Sim Các công cụ mô phỏng đa ngành... |
|
Ðiều Chỉnh | Xếp Bài |
04-08-2013, 04:14 AM | #2 | |
Đệ tử 3 túi
Tham gia ngày: Mar 2009
Bài gửi: 49
: |
Trích:
Sau khi khởi tạo cổng com với lệnh: s=serial('COM1'), COM1 là môt ví dụ, bạn dùng lệnh get(s) để lấy thông tin về cổng com ByteOrder = littleEndian BytesAvailable = 0 BytesAvailableFcn = Dòng 1 BytesAvailableFcnCount = 48 BytesAvailableFcnMode = terminator BytesToOutput = 0 ErrorFcn = InputBufferSize = 512 Name = Serial-COM1 ObjectVisibility = on OutputBufferSize = 512 OutputEmptyFcn = RecordDetail = compact RecordMode = overwrite RecordName = record.txt RecordStatus = off Status = closed Tag = Timeout = 10 TimerFcn = TimerPeriod = 1 TransferStatus = idle Type = serial UserData = [] ValuesReceived = 0 ValuesSent = 0 SERIAL specific properties: BaudRate = 9600 BreakInterruptFcn = DataBits = 8 DataTerminalReady = on FlowControl = none Parity = none PinStatus = [1x1 struct] PinStatusFcn = Port = COM1 ReadAsyncMode = continuous RequestToSend = on StopBits = 1 Terminator = LF Dòng 2 bạn quan tâm đến dòng 1 và 2, Dòng 1 định nghĩa hàm mà bạn sẽ gọi khi ngắt xảy ra Dòng 2 mô tả khi nào ngắt xảy ra: + LF: ngắt khi nhận được ký tự xuống dòng( hex: 0x0A, dec: 10, \n với C, ví dụ từ vdk bạn gửi printf("100\n")) + byte: ngắt khi cổng com nhận đủ số byte định trước Ở đây bạn chỉ cần khai báo hàm cần gọi khi ngắt, còn lại cứ để mặc định, lưu ý các khai báo này phải thực hiện trước khi mở cổng: fopen Khai báo hàm ngắt như sau: set(s,'BytesAvailableFcn',{@thanh,hObject,handles} ); Đồng thời bạn củng phải viết nội dung cho hàm thanh, hàm này bạn tự add thêm vào file *.m đi kèm với file *.fig như ví dụ bên dưới. function thanh(obj,event,hObject, handles) data=fscanf(obj); set(handles.data_text,'string',data(1:end-1)); obj là đối tượng cổng com, handles là tham chiếu tổng quát đến tất cả các đối tượng của figure, nếu không có khai báo này ở phần khai báo hàm ngắt thì bạn sẽ không thể chuyển dữ liệu nhận được đến các đối tượng khác. Trong chương trình mình đính kèm sẽ thực hiện việc tìm kiếm cổng com đang tồn tại trong máy tự động và kết nối, khi cổng com nhận được dữ liệu nó sẽ tự động chuyển đến textbox, nếu máy bạn có cỏng com ảo bạn có thể dùng phần mềm terminal để mô phỏng hoặc giao tiếp trực tiếp với vi điều khiển ví dụ bạn nhận được chuổi abc1234 và ký tự xuống dòng, nó sẽ hiện thị ra textbox abc1234 Link:http:http://www.youtube.com/watch?v=UIdkq...ature=youtu.be Hy vọng giúp ích được bạn. |
|
|
|