sr3 = serial('COM3'); % 使用默認設置創建串口sr3
fopen(sr3); %打開串口
fprintf(sr3,'xxx'); % 給串口寫入數據
str = fscanf(sr3) %讀取串口數據(無分號,可在Matlab工作區實時查看)
fclose(sr3); %關閉串口
delete(sr3);
clear sr3;
串口發送數據
s = serial('COM9');
Serial Port Object : Serial-COM9
Communication Settings
Port: COM9
BaudRate: 9600
Terminator: 'LF' %串口觸發字符“換行符”(缺省符) 串口觸發字符“回車符”(CR)
Communication State
Status: closed
RecordStatus: off
Read/Write State
TransferStatus: idle
BytesAvailable: 0
ValuesReceived: 0
ValuesSent: 0
fopen(s)
s.ReadAsyncMode = 'continuous'; %連續接收,缺省模式
fprintf(s,'MR YANG')
fclose(s)
delete(s);
clear s;
串口連續接收數據(不好用)
>> s=serial('COM9')
Serial Port Object : Serial-COM9
Communication Settings
Port: COM9
BaudRate: 9600
Terminator: 'LF'
Communication State
Status: closed
RecordStatus: off
Read/Write State
TransferStatus: idle
BytesAvailable: 0
ValuesReceived: 0
ValuesSent: 0
>> fopen(s);
>> s.ReadAsyncMode = 'continuous';
>> while(1)
if(s.BytesAvailable)
out = fscanf(s)
end
end
(或者str = fscanf(sr3) 讀取數據)
注意:當進入死循環後,用快捷鍵Ctrl+C強行中斷
out =
yang 123
串口中斷接收數據:詳細參見https://blog.csdn.net/c_ycy/article/details/53883793
注意,函數文件的開頭,應該出現在M文件中,而不是在運行窗口輸入的
只有當.m文件不busy時才能對變量進行操作