matlab收發資料,並實時顯示波形

2021-09-30 19:47:15 字數 1788 閱讀 3762

port = 'com3';  %埠號

if exist('s', 'var') %判斷上一次開啟的埠有沒有關閉

fclose(s);%關閉s

ends = serial(port, 'baudrate', 115200);%設定波特率

fopen(s);%開啟s

fprintf(s,'>>autoout=1');         % 給串列埠寫入資料

fprintf(s,'>>hex=0');

pv = str2double(a);%如果輸入是ascii碼直接用這個,就可以獲得double型變數。

總的程式

功能:接受資料,並實時顯示

% port = '/dev/tty.wchusbserial148230';

port = 'com3';

if exist('s', 'var')

fclose(s);

ends = serial(port, 'baudrate', 115200);

fopen(s);

fprintf(s,'>>autoout=1'); % 給串列埠寫入資料

fprintf(s,'>>hex=0'); % 給串列埠寫入資料

%% try obtain points

c=1%% load dynamic data: 1 point

w = figure;

set(w,'windowkeypressfcn',@keypressfcn);

global stop;

stop = 0;

for i = 1:c

subplot(c,1,i);

h(i) = animatedline;

ax(i) = gca;

ax(i).ygrid = 'on';

% ax(i).ylim = [0 3.3];

end% ax(1).ylim = [500 1500];

% ax(2).ylim = [0 10];

% ax(3).ylim = [0 10];

starttime = datetime('now');

t = starttime;

while 1

if stop == 1

break;

end% get cufrrent time

t = datetime('now') - starttime;

% t = t + 1e-6;

v = fscanf(s);

if isempty(v)

continue;

end[n1, n2]=size(v);

if n2 ~= 14

continue;

enddisp(v);

% add points to animation

a=v(1:8);

pv = str2double(a);

if v(10)~='m'

pv=pv*0.001;

endaddpoints(h(i),datenum(t),pv);

ax.xlim = datenum([t-seconds(50) t]);

datetick('x','keeplimits');

drawnow

end

【內推碼】:hmwz1jc

【郵箱】[email protected]

還有其他崗位,如果想諮詢面試流程、投遞進度,歡迎隨時溝通

基於matlab的音訊波形實時採集顯示 v0 1

robj audiorecorder 44100,16,1 設定取樣頻率 取樣位數 通道數 recordblocking robj,1 採集初步資料 1s長度 rdata getaudiodata robj 獲取音訊資料 plot rdata 繪製波形 axis 1,44100,0.1,0.1 設定...

Matlab 顯示資料精度Format

format 設定輸出格式 對浮點性變數,預設為format short.format並不影響matlab如何計算和儲存變數的值。對浮點型變數的計算,即單精度或雙精度,按合適的浮點精度進行,而不論變數是如何顯示的。對整型變數採用整型資料。整型變數總是根據不同的類 class 以合適的資料位顯示,例如...

AT指令建立TCP IP 鏈結,並自收發資料

3g模組 華為mu709 mu509 核心版本 3.15 前面說過pppd撥號及上網,今天說說at指令建立tcp鏈結。如下 int tcp 3g test void ret write string atcpin,line if ret sim卡正常狀態應為 正常情況下訊號強度應該在11以上,我這是...