simulink读取adc串口数据

simulink读取adc串口数据,第1张

simulink读取adc串口数据的方法如下:

当我在MATLAB代码中使用 fscanf 时,我在数据包中输入'm able to read data from a serial port. However, I cannot use this function in a '数据包输入' and '数据包输出'从串口发送和接收数据,但是后来我无法在这些块中读取字符串格式 .

我在MATLAB脚本中使用以下代码:

gotoConfig = hex2dec({'00','6E'})

fwrite(s,gotoConfig)

R0 = 24*abs(fscanf(s,'%e',14))*2*pi

matlab

Simulink中使用串口频率:

1. 模块介绍

本文使用的模块都在库函数的Instrument Control Toolbox 里面。

1.1 串口参数设置模块

串口通信第一步首先是配置串口,配置模块如下:

1.2 发送数据模块

要想在Simulink里面发送数据,得先在库浏览器里面找到串口发送模块

1.3 接收数据模块

要想在Simulink里面接收数据,先在库浏览器里面找到串口接收模块

1.4 显示数据模块

调试数据必须使用一个显示模块,但是scope在这里是不合适的,Display 刚刚好。

可以选择很多数据类型,这里选择十六进制,方便调试。

2. 模块配置

2.1 基本参数配置

串口的基本参数配置:串口号,波特率,数据位,奇偶校验,停止位,传送顺序,是否硬件流,响应时间。

串口号:根据硬件设备来选择(若插硬件,必须先插上串口,再打开MATLAB才会显示)

波特率:与对应设备一致即可,我这里是使用115200.

奇偶校验位:一般数据不使用,可通过传输数据中1的个数来检验数据是否有传输错误。

传输顺序:在传输大于八位的数据时必须关注,先传输低八位使用 little-endian,否则 使用endian-little

其他一般选默认即可。

2.2 发送参数配置

发送参数只要选择端口号和帧头就可以了,这里直接发送数据,不要帧头。

2.3 接收参数配置

如下图配置好接收参数,端口号选择com1,数据类型就选择基础的 uint8 ,0.01s接收一次。

3. 串口通信测试

用虚拟串口进行测试,申请一对串口Com1和Com2

这里选择把接收的数据给发送回去。

可以看到,发送的21,接收成功。

simulink里面有个Serial Configuration模块,这里可以选择输出到哪个串口,可以控制串口输出的。当然,如果协议复杂的话,自己写matlab代码。 把这个串口连接到dsp就行啦。 做小车的话,如果小车要跑,可以淘宝找找蓝牙串口。

你help function一下,会看到这句:The name of a function, as defined in the first line of the M-file, should be the same as the name of the file without the .m extension. 根据你写的function [sol,eval]=fitness(sol,options),我觉得你得先把文件保存一下,名字是fitness.m

还有,你的数组d里面的分号要去掉


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12196769.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存