赤菟V307 MCU与Matlab的串口通信设计-赤兔马ctm1507c

赤菟V307(CH32V307)是一款RISC-V内核的MCU,搭载的是沁恒自研RISC-V内核青稞V4F,最高主频144MHz,支持单精度浮点运算(FPU)。

Matlab支持串口通信,可以接收串口的数据,并进行数据处理,本文主要讲解赤菟V307与Matlab的串口通信,并进行快速傅里叶变换。

1、定义串口协议

为了更好的接收并处理串口数据,需要定制一定的传输协议:

l 每个数据以 ‘,’(ASCII:44)结束

l 整组数据以 ‘$’(ASCII:36) 结束

l 浮点统一放大到整数

2、赤菟V307端程序设计

赤菟V307发送一段信号,该信号由幅度为0.4的直流信号+幅度为0.5,频率为50Hz的信号+幅度为,频率为100Hz的信号+幅度为0.5,频率为150Hz的信号组成,采样率为1000Hz,一共发送1000个采样值。

代码如下:

赤菟V307 MCU与Matlab的串口通信设计-赤兔马ctm1507c

3、Matlab端程序设计

matlab支持串口接收数据,根据定义的协议,解析数据,支持正负整数。具体代码如下:

赤菟V307 MCU与Matlab的串口通信设计-赤兔马ctm1507c

赤菟V307 MCU与Matlab的串口通信设计-赤兔马ctm1507c

4、结果验证

Matlab接收数据显示如下:

赤菟V307 MCU与Matlab的串口通信设计-赤兔马ctm1507c

经过Matlab的快速傅里叶变换结果如下:

赤菟V307 MCU与Matlab的串口通信设计-赤兔马ctm1507c

打通了赤菟V307和Matlab之间的“任督二脉”,后面可以愉快的验证赤菟V307的FFT以及相关的数字信号处理算法啦。

免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:赤菟V307 MCU与Matlab的串口通信设计-赤兔马ctm1507c https://www.yhzz.com.cn/a/4805.html

上一篇 2023-04-11
下一篇 2023-04-11

相关推荐

联系云恒

在线留言: 我要留言
客服热线:400-600-0310
工作时间:周一至周六,08:30-17:30,节假日休息。