PIC Vietnam

Go Back   PIC Vietnam > Truyền thông > Giao tiếp cổng COM và LPT

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Giao tiếp cổng COM và LPT RS232, RS485 và LPT là những giao tiếp cơ bản và kinh điển khi mới học về vi điều khiển...

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 18-04-2007, 07:43 PM   #11
Nguoi hieu hoc
Nhập môn đệ tử
 
Tham gia ngày: Aug 2006
Bài gửi: 4
:
Thắc mắc

Anh Bắc cho em hỏi tí:
Sao em viết chương trình giao tiếp cổng Com giữa Pic 16f877A với máy tính bằng chương trình Matlab của anh đó.
Chương trình trên Pic như sau:
Code:
Code:
#include <16F877a.h>
#include <stdlib.h>

#fuses HS,NOWDT,NOPROTECT,NOLVP,PUT
#use delay(clock=20000000)
#use rs232(BAUD=9600,PARITY=N,XMIT=PIN_C6,RCV=PIN_C7)
#use fast_io(B)
#byte PORTA=0x05
#byte PORTB=0x06
#byte PORTC=0x07
#byte PORTD=0x08
int m,d,a,i;
char h;
void main()
{
      a=0;
      i=0;
       h=getc();
      if (h='3')
      {
         for (d=1;d<3;d++)
         {
            for (i=48;i<56;i++)
            {
               putc(i);
// ở đây nếu em có delay_ms(100) thì kết quả cũng như ở phía dưới 
             }
         }
      }
      if (h>null)
      {
         putc('r');
      }
}
Khi em đánh vào chỗ text phần Transmit đó anh , em không thấy tín hiệu trả về ở phần text của receive?

Nếu em tự viết bằng các dòng lệnh trên Command Window đó anh:
Code:
Code:
 s = serial('COM1','BaudRate',9600);
>> fopen(s)
>> fprintf(s,'3')
>> fscanf(s)
Warning: A timeout occurred before the Terminator was reached.

ans =

012345670123456
nó hiện ra thông báo như thế đó anh ? em không hiểu timeout ở đây có ảnh hưởng gì không nữa?
Theo như em hiểu thì timeout là khoảng thời gian tối đa cho việc đọc và ghi dữ liệu qua cổng Com phải ko anh? Mặc định của nó là 10s
10 s này là cho việc truyền mỗi ký tự hay sao vậy anh ? em đã thử khai báo thay đổi timeout như sau
Code:
Code:
>> s.timeout=0.1  % tức là 100 ms

hay cho nó lớn hơn 
>> s.timeout=50 % tức là 50s

nhưng sao nó vẫn hiện thông báo :Warning: A timeout occurred before the Terminator was reached
anh chỉ dùm em với.

À ở đây em muốn hỏi thêm về anh là em định dùng chương trình này để mở rộng cho điều khiển động cơ bằng PID. Em sẽ dùng Matlab nhập 3 thông số xuống , sau đó em đọc tín hiệu hồi tiếp từ encoder vể qua Com và vẽ lên đồ thị. Như vậy thì em phải có 1 biến thời gian phải không anh?
Giả sử em cho cứ sau 100 ms ( có lớn quá không anh?) PIC xuất tín hiệu số encoder đọc được qua cổng Com , rồi em theo đoạn code của anh thêm vào:
Code:
Code:
function BytesAvailable_Callback(obj,event)
    global hand;
    ind = fscanf(obj);  
    % Edit code here - Ngo Hai Bac    
    set(handles.edit_RX,'String',ind);  
     set(handles.dulieu,'string','co du lieu');  
    % em viết thêm:
                              y =str2double(ind);
                              axes(handles.dothi);
                              x = 0:.1:100;
                              plot(x,y,'k','LineWidth',2);grid
em lấy biến y là tín hiệu đọc từ cổng Com ( đổi ind từ string ra double)
rồi em vẽ đồ thị trên GUI.Nhưng mà em nghĩ biến x ở đây phải là 1 biến theo thời gian thực phải không anh? Vậy em làm sao khai báo biến x theo thời gian thực vậy anh?

Ạnh chỉ em với (^_^)
Nguoi hieu hoc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
Giao tiếp RS232 trên PC ngohaibac Giao tiếp cổng COM và LPT 188 23-01-2023 02:18 AM
giao tiep qua PCI de doc AD bằng Matlab hanhluckyly Matlab-Simulink & Labview & 20-Sim 22 06-06-2011 09:55 PM
Communicate between PC and PIC via RS232 standard using Matlab (GUI, IO). ngohaibac English forum on PICs 3 02-06-2011 06:46 PM
cần mua bộ thu GPS có giao tiếp RS232 kienvq Tìm mua sản phẩm 15 17-03-2011 11:25 PM
Help! Dùng C để giao tiếp RS232 dandiennang Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) 6 15-03-2009 06:41 PM


Múi giờ GMT. Hiện tại là 02:42 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam