Thông báo

Collapse
No announcement yet.

Đọc tín hiệu ADC từ PIC về Matlab qua rs232

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Đọc tín hiệu ADC từ PIC về Matlab qua rs232

    Em đang kết nối qua rs232 giữa PIC 16F877A và Matlab để đọc tín hiệu cảm biến. Em thử lập trình đoạn code trong Matlab để đọc giá trị ADC tử PIC để hiển thị trên Matlab mà nó báo lỗi :
    ??? Error using ==> serial.fread at 131
    SIZE must be greater than 0.

    Error in ==> sensorpic at 7
    valuesensor = fread(s, s.BytesAvailable);

    Code của em như sau:
    ////////////////////////////////
    function sensorpic()
    s=serial('COM1');
    fopen(s)
    fprintf(s,'%s','0');
    clear data
    for i= 1 :10
    valuesensor = fread(s, s.BytesAvailable);
    dim = size(valuesensor);
    data(i)=0;
    for j=1:dim(1)
    data(i) = valuesensor(j,1)+ data(i);
    end
    data(i)=(data(i)/dim(1));
    end
    data
    fclose(s)
    ////////////////////////////////////////

    Em giải thích tạm cái code làm việc như sau: mở cổng COM1, sau đó gửi kí tự "0" xuống PIC để PIC bắt đầu đọc dữ liệu ADC sau đó gửi lại giá trị ADC về Matlab. Matlab đọc về qua lệnh valuesensor = fread(s, s.BytesAvailable);. Vòng lặp nhằm đọc nhiều giá trị ADC sau đó lấy giá trị trung bình cộng làm giá trị hiển thị.

    Mong mọi người giúp em sửa cái code.

  • #2
    Mình cũng đang quan tâm vấn đề này, chỉ tiếc là giờ mình mới tìm hiểu thôi.
    Không biết bạn đã hoàn thành chưa? có gì cho mình làm cùng với

    Comment

    Về tác giả

    Collapse

    forepirate Tìm hiểu thêm về forepirate

    Bài viết mới nhất

    Collapse

    Đang tải...
    X