simulink联合STM32CubeMX开发串口通信程序

2023-05-16

摘要

使用SIMULINK联合STM32CubeMX生成STM32F407串口发送数据代码,发送的数据为正弦函数波形。再用SIMULINK写一个串口接收数据模型,接收来自STM32发送的数据,最后绘制出波形。

版本说明

MATLAB 2021b

芯片:STM32F407ZET6

STM32CubeMX 6.2

STM32CubeMX代码框架

  1. 系统配置

  1. 配置GPIO引脚,点灯:DE0——PF9

高电平灭,低电平亮。

  1. 配置串口

  1. 配置时钟

SIMULINK编写STM32程序

基础框架

可以参考:(14条消息) simulink/STM32CubeMX联合生成STM32串口发送代码_小杨同学呀的博客-CSDN博客

DSP正弦波模块

设置幅值和频率:

自定义编码模块fcn

  1. 将DSP模块产生的double类型(64位)的数据转变为8个uint8类型(8位)的数组。

  1. 在数据帧前面添加上帧头

  1. 计算帧的长度

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串口通信模型

串口接收模块配置

  1. 设置帧头

  1. 设置数据大小

数据类型转换

将数据uint8数组转变为double数据

function y = fcn(u)
y = typecast(u,'double');

波形绘图

工作空间数据绘图

plot(out.tout,out.aa)

scope在线绘图

程序下载

(13条消息) simulink联合STM32CubeMX串口通信资源-CSDN文库

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

simulink联合STM32CubeMX开发串口通信程序 的相关文章

随机推荐

  • 堆排序——手工模拟+程序实现

    堆排序的算法思想 xff1a 将待排序列构造成一个大顶堆 xff0c 此时 xff0c 整个序列的最大值就是堆顶元素 输出堆顶元素 xff0c 将堆顶元素与堆底最后一个元素进行交换 xff0c 然后 xff0c 将剩余n 1个元素重新构造成
  • 设计模式详解:原型模式

    本篇来看一下创建型模式中的第四种模式 xff1a 原型模式 仍然是先看两张图 xff0c 复习模式类型 xff0c 加深记忆 定义 xff1a 原型模式 xff1a 使用原型实例指定待创建对象的类型 xff0c 并且 通过复制这个原型来创建
  • maven镜像源及代理配置

    在公司使用网络一般需要设置代理 xff0c 我在idea中创建springboot工程时 xff0c 发现依赖下载不了 xff0c 原以为只要浏览器设置代理 xff0c 其他的网络访问都会走代理 xff0c 经过查资料设置了以下几个地方后工
  • IDEA SpotBugs代码安全审计插件

    IDEA SpotBugs代码安全审计插件 在寻找idea代码审计插件的时候 xff0c 发现Findbugs已经停止更新 xff0c 无法在idea2020 01版本运行 xff0c 由此找到SpotBugs SpotBugs介绍 Spo
  • 洛谷P1233 木棍加工

    题目描述 一堆木头棍子共有n根 xff0c 每根棍子的长度和宽度都是已知的 棍子可以被一台机器一个接一个地加工 机器处理一根棍子之前需要准备时间 准备时间是这样定义的 xff1a 第一根棍子的准备时间为1分钟 xff1b 如果刚处理完长度为
  • 如何用python写一个计算日期间隔的程序?

    如何用python写一个计算日期间隔的程序 xff1f 文章目录 如何用python写一个计算日期间隔的程序 xff1f 前言问题梳理问题解决写在后面 前言 为什么想起来写一个这样的程序呢 xff1f 前几天聊天的时候 xff0c 突然想计
  • Ubuntu 中软件包缓存文件损坏问题

    终端输入 xff1a sudo apt get update 出现如下问题 解决方法 xff1a 输入 sudo rm rf var lib apt lists
  • linux开机自启系统服务的大致原理

    Linux启动系统服务 init启动 init读取 etc inittab文件 xff0c 获取运行等级 span class token comment The default runlevel 启动时的运行等级 span id 5 in
  • apache2 配置https

    配置Apache2 https 开启ssl模块 span class token function sudo span a2enmod ssl 启用ssl站点 span class token function sudo span a2en
  • JAVA对数字+字符串,中文一二三四等特殊格式字符串进行特殊排序

    提示 xff1a 对数字 43 字符串 中文一二三四 格式字符串去重 排序 重组 可以对customSort 类的46 53行进行修改 查看新排序效果 代码如下 xff08 示例 xff09 1 SortTest 类 xff1a span
  • Linux安装Jenkins

    手把手教你在Linux上安装jenkins xff0c 废话不多说 xff0c 直接上教程 1 xff0c 用windows到官网下载jenkins 2 346 1 1 noarch rpm xff0c 下载链接 xff1a https w
  • 舵机控制(STM32F103C8T6)

    前言 本文是以STM32F103C8T6作为主控芯片 xff0c 通过PB6端口输出PWM xff0c 实现控制180 舵机 一 舵机控制原理 xff08 一 xff09 概述 舵机是一种位置伺服驱动器器 xff0c 是一种带有输出轴的小装
  • 设计模式详解:建造者模式

    今天来看一下创建新模式中的第五种模式 xff1a 建造者模式 仍然是先看两张图 xff0c 复习模式类型 xff0c 加深记忆 定义 xff1a 建造者模式 xff1a 将一个复杂对象的构建与它的表示分离 xff0c 使得同样的构建过程可以
  • 动态数码管显示(STM32F103C8T)

    一 前言 本实验是通过使用STM32F103C8T6作为主控 xff0c 八段数码 xff08 共阴极 xff09 是通过74HC245双向缓冲器控制数段选 xff0c 74HC138译码器控制位选 每个数码管显示与位号相对应的数字 xff
  • 取字模软件的使用

    1 点击运行 取字模软件 EXE 2 输入文本 xff0c 完成后按Ctrl 43 Enter按键结束输入 xff0c 如下图 3 设置字体显示的大小16 16 xff0c 如下图 xff1a 4 设置字体格式 xff0c 字体大小 xff
  • 51单片机应用篇-- --数码管60秒计时,独立按键可调

    开篇先说一句废话 本旺名字叫萨摩耶 xff0c xff0c Please 叫我旺财 xff0c xff0c xff0c 哈哈 xff0c 招财进宝嘛 xff01 缘由 本来按照我的学习计划 xff0c 我现在应该是单片机的学习过程 xff0
  • SOLIDWORKS生成URDF文件后部分文件散乱分布

    问题 xff1a SOLIDWORKS生成URDF文件在正确配置关节坐标系的情况下 xff0c 依然出现了部分零件散乱分布的情况 xff0c 例如图所示 xff1a 问题原因 xff1a 同样的零件多次装配 解决办法 xff1a 要插入同一
  • Matlab笔记:Matlab function生成C代码并运行

    1 Matlab函数 xff0c 输入 x y z roll pitch yaw xff0c 输出out为8 6的数组 2 点击Matlab coder 3 选择要生成的函数 4 定义输入类型 xff0c 输入的六个数选择double数值
  • matlab接收ROS发布的话题通信数据并实时画图

    版本说明 matlab R2021b ROS noetic matlab与ROS通信连接 在matlab和ROS连接之前 xff0c 需要先运行ROS核心 xff0c 记录ROS端的IP地址 再查找并记录matlab端 xff08 我这里是
  • simulink联合STM32CubeMX开发串口通信程序

    摘要 使用SIMULINK联合STM32CubeMX生成STM32F407串口发送数据代码 xff0c 发送的数据为正弦函数波形 再用SIMULINK写一个串口接收数据模型 xff0c 接收来自STM32发送的数据 xff0c 最后绘制出波