Advertisement

MATLAB串口通信使STM32出现复位情况分析

阅读量:

前言

最近几日,在利用matlab执行串口数据读取任务时,每当读取数百个数据点后,对这些数据进行处理与分析,并生成图像输出。然而,在此过程中却遇到了一个异常现象,即每次完成串口通信操作后,STM32设备均会发生重启情况。

Matlab串口通信实现

以下为可正常执行的代码示例

复制代码
    delete(instrfindall);
    s=serial("COM3",'BaudRate',115200,"Parity","none","DataBits",8,"StopBits",1);
    s.DataTerminalReady='on';   %matlab串口打开方式会控制DTR/RTS,导致复位,加上这两句
    s.RequestToSend='off';
    fopen(s);                    %打开串口
    
    ii=1;
    data=0;
    
     for t=1:5
    clc;
    re=fread(s,512,'uint8');   %读取512个无符号数
    re=re-48;              %阿斯克码转换  %数据格式为xx xx xx 13 10(前面三个各代表一个数,13是回车,后面10是换行符,例如128:49 50 56 1

全部评论 (0)

还没有任何评论哟~