当前位置:网站首页>Simulink与Arduino串口通信
Simulink与Arduino串口通信
2022-07-04 04:38:00 【lihe2021】
本文想实现的目的为:Simulink与Arduino串口通信,进而获取与Arduino连接的压力传感器FSR402的数据。
Simulink与Arduino交互的方式有两种(http://www.51hei.com/arduino/3989.html):
(1)Simulink Arduino Support package
(2)Simulink串口通信
由于已经给Arduino编好了读取FSR402压力值的程序(链接:https://pan.baidu.com/s/1yadaWsIm-4wXirOJWflCLA
提取码:llhh),又希望在Simulink中调用串口,读取数据。此时 Simulink Arduino Support package显然不合适了。这里我们要用到Simulink里的串口模块Serial Receive,从对Serial Receive模块中可以看出其接收的为二进制数据。
在具体实现之前,需要对串口通信的方式进行说明。串口通信一般有两种方式: 1、字符(对应文本方式) 2、字节(对应二进制方式)
| 字符 | 字节 |
|---|---|
| fscanf fprint (Matlab) | fread fwrite (Matlab) |
| Serial. print (Arduino) | Serial.write (Arduino) |
通俗来讲,字符方式针对的是PC端显示,字节方式更多用于与串口设备通信。
所以在Arduino程序中我们可以发现,采用的是print函数对数据进行输出,进而可以在串口监视器查看输出。但是Serial Receive接收的为二进制数据,所以需要利用write函数进行一个字节一个字节的输出,进而将压力值写到Arduino所对应的串口,从而Simulink通过串口接收模块进行读取。
Arduino发送
Arduino中利用union来发送float类型数据。代码段如下
定义union SeFrame
union SeFrame
{
long Long;
byte Byte[4];
};
SeFrame Sefram;
发送数据代码段:
void Send_long(long LONG)
{
Sefram.Long= LONG;
Serial.write(Sefram.Byte[0]);
Serial.write(Sefram.Byte[1]);
Serial.write(Sefram.Byte[2]);
Serial.write(Sefram.Byte[3]);
}
simulink接收设置
Serial Receive模块中:
data type设置为int32,每个数据占用4个字节
data size 设置为1,因为我们要发送的数据只有一个。
最终效果如下:
边栏推荐
- 附件一:202x年xxx攻防演习授权委托书
- We believe that the development of consumer Internet will still be limited to the Internet industry itself
- June 2022 summary
- 红队视角下的防御体系突破之第二篇案例分析
- Several smart watch related chips Bluetooth chip low power consumption
- Headache delayed double deletion
- 【MATLAB】MATLAB 仿真模拟调制系统 — VSB 系统
- Simulated small root pile
- Technology Management - learning / practice
- 加密和解密
猜你喜欢

定制一个自己项目里需要的分页器

Deep understanding of redis -- bloomfilter

Automated testing selenium foundation -- webdriverapi

Sécurité du réseau dans les écoles professionnelles secondaires - preuve de mémoire

VSCode的有用插件

Zhongke panyun-d module analysis and scoring standard

抓包整理外篇fiddler———— 会话栏与过滤器

RPC - grpc simple demo - learn / practice

海力士EMMC5.0及5.1系列对比详解

Unity is connected to the weather system
随机推荐
When using flash to store parameters, the code area of flash is erased, which leads to the interrupt of entering hardware error
定制一个自己项目里需要的分页器
【MATLAB】通信信号调制通用函数 — 插值函数
中职组网络安全—内存取证
小程序毕业设计---美食、菜谱小程序
KMP匹配字符串
【MATLAB】通信信号调制通用函数 — 带通滤波器
关于solidworks standard无法获得许可 8544问题的总结
2022年T电梯修理操作证考试题库及模拟考试
中科磐云—2022广东木马信息获取解析
Unity 接入天气系统
Flutter 调用高德地图APP实现位置搜索、路线规划、逆地理编码
[matlab] matlab simulates digital baseband transmission system eye diagram of bipolar baseband signal (cosine roll off forming pulse)
自动化测试selenium基础篇——webdriverAPI
The first introduction, stages and methods of defense system breakthrough from the perspective of the red team
[matlab] matlab simulation modulation system FM system
PostgreSQL 正式超越 MySQL,这家伙也太强了吧!
How to build your own knowledge engine? Community open application
附件二:攻防演练保密协议.docx
[matlab] general function of communication signal modulation bandpass filter