使用 matlab 编程实现串口助手,实现串口数据的收发等功能。
实现效果:
核心功能实现:
- 端口搜索:
使用 matlab 内置函数可以实现端口的搜索功能:getcom=instrhwinfo('serial'); com_list=char(getcom.AvailableSerialPorts)
这个函数能够搜索电脑当前可用的虚拟端口和物理端口,可以结合 matlab 搜索的物理可用端口给端口号一个易区分的名字,如: - 收发数据:
fwrite(scom,send_data, 'uint8', 'async') %数据写入串口 char=fscanf(scom)%从串口读数据
- 接收数据的回调:
在回调函数里实现接收数据的处理。scom.BytesAvailableFcnMode='terminator'; scom.BytesAvailableFcn = {@mycallback, handles};
- 资源释放
退出程序时,释放串口资源scom = handles.sbuff % 传递对象句柄 % 尝试停止、关闭删除串口对象 stopasync(instrfind) % 停止串口异步读写 fclose(instrfind); % 关闭串口设备对象 delete(instrfind); % 删除内存中的串口设备对象 clear scom; % 清除工作区间的串口设备对象