function ReadUsart()
instrreset %先用instrreset复位
serialPort = serial('COM3');
serialPort.BaudRate = 115200; % 设置波特率
serialPort.BytesAvailableFcn = @readData; % 设置读取数据回调函数
serialPort.BytesAvailableFcnMode= 'byte'; % 读取数据类型
serialPort.BytesAvailableFcnCount = 2; % 指定触发回调函数的缓冲区数据的个数
fopen(serialPort); % 打开串口
set_param('batterysoc','SimulationCommand','start');%仿真开始
set_param('batterysoc','SimulationCommand','pause');%开始立刻暂停使仿真时间偶从0s开始即可控
end
function readData(obj, event)
received = fread(obj, [1 2], 'uint8'); % 一次读取2个字节
data = received(1)*2^8+received(2); %将生成的uint16数据结合
set_param('batterysoc/Constant', 'value',num2str(data));%将值动态赋给输入模块
set_param('batterysoc', 'SimulationCommand','step'); %执行一个仿真步长
pause(0.2); %延时令M语句等待模型做出响应
end