• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-21
  • 语言: Matlab
  • 标签: matlab  udp  

资源简介

MATLAB与DSP进行UDP通信的简单程序,相当于一个网口调试助手,可以实时接收DSP发送的报文并进行解析。

资源截图

代码片段和文件信息

clc;
clear all;
close all;
fclose(instrfindall);%先关闭之前可能存在的UDP,第一次运行时需要注释掉,否则会报错,后面运行要一直打开。
%这里是我定义的指令,每个指令由多个字节构成,字节间按空格分开
% fid1 = fopen(‘zhiling1.txt‘‘r‘);%1个包
% for i = 1:5
%     for j = 1:1
%     data1{ij} = fscanf(fid1‘%s‘[11]);%以字符方式读取每个值,遇空格完成每个值的读取
%     end
% end
% zhiling1 = (hex2dec(data1)).‘;
% fid2 = fopen(‘zhiling2.txt‘‘r‘);%1个包
% for i = 1:148
%     for j = 1:1
%     data2{ij} = fscanf(fid2‘%s‘[11]);%以字符方式读取每个值,遇空格完成每个值的读取
%     end
% end
% zhiling2 = (hex2dec(data2)).‘;

%127.0.0.1即为本地
%u1表示自己的电脑,u2表示对端电脑,u1设置的通信IP地址为对端(u2)的IP,u2设置的通信IP地址为对端(u1)的IP。
u1=udp(‘192.168.2.200‘‘RemotePort‘7000‘LocalPort‘7000);%udp(对端IP,对端端口号,本地端口号)
%u1的本机端口为8848,即监听所有发到8848端口的消息;
%u1的远程端口为8847,即若u1发送消息,则发送到8847端口,本机端口为8847的UDP便会受到u1的消息
u2=udp(‘192.168.2.100‘‘RemotePort‘7000‘LocalPort‘7000);%同上
% u3=udp(‘127.0.0.1‘‘RemotePort‘8848‘LocalPort‘8850);%同上
set(u1‘ByteOrder‘‘littleEndian‘);%与dsp通信,需要设置大小端
set(u2‘ByteOrder‘‘littleEndian‘);
u1.OutputBufferSize=8192;%设置接收和发送的报文长度,不设置的话,可能会置为512字节,接收不完整
u1.InputBufferSize=8192;%默认512字

评论

共有 条评论