摘要
使用SIMULINK联合STM32CubeMX生成STM32F407串口发送数据代码,发送的数据为正弦函数波形。再用SIMULINK写一个串口接收数据模型,接收来自STM32发送的数据,最后绘制出波形。
版本说明
MATLAB 2021b
芯片:STM32F407ZET6
STM32CubeMX 6.2
STM32CubeMX代码框架
系统配置
配置GPIO引脚,点灯:DE0——PF9
高电平灭,低电平亮。
配置串口
配置时钟
SIMULINK编写STM32程序
基础框架
可以参考:(14条消息) simulink/STM32CubeMX联合生成STM32串口发送代码_小杨同学呀的博客-CSDN博客
DSP正弦波模块
设置幅值和频率:
自定义编码模块fcn
将DSP模块产生的double类型(64位)的数据转变为8个uint8类型(8位)的数组。
在数据帧前面添加上帧头
计算帧的长度
function [len,y] = fcn(u)
head=uint8([255 254]);%帧头
out=typecast(u,'uint8');
y=[head,out];
len=length(y);
RcvUsartBuf模块
来自于官方示例程序,未作修改(见上面参考)。
最后生成代码
如果代码不运行,可以参考:(14条消息) SILMULINK联合STM32Cubemx开发点灯程序,灯不亮的一种原因_stm32cubemx6.5_ChownQ的博客-CSDN博客
SIMULINK串口通信模型
串口接收模块配置
设置帧头
设置数据大小
数据类型转换
将数据uint8数组转变为double数据
function y = fcn(u)
y = typecast(u,'double');
波形绘图
工作空间数据绘图
plot(out.tout,out.aa)
scope在线绘图
程序下载
(13条消息) simulink联合STM32CubeMX串口通信资源-CSDN文库
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)