当前位置: 首页 > news >正文

C代码做底层及Matlab_SimuLink做应用层设计单片机程序

前言:SimuLink工具极其强大,但是能直接支持单片机自主开发的很少,造成这个问题的原因主要是我们使用的芯片底层多是C代码工程,芯片厂家也只提供C代码库,很少能提供SimuLink的支持库,即使提供也不是很不完善,如NXP的一些芯片提供的SimuLink库不含盖高级应用,再比如意法半导体的芯片之前提供SimuLink库底层,后来就断更了,还有一堆bug。不如自己灵活使用芯片厂家提供的C代码底层,做好接口以Simulink做应用层,这样既有C代码的灵活性,也有SimuLink的可读性。

本期以STM32F103单片机为例,设计IO输出及CAN通讯,接受要用中断而不是扫描的形式。

注意:内容及其简略,需要用丰富的相关知识储备

1、以官房的HIL库搭建STM32F103的底层(MXCUBE自动生成)

        略

2、完善底层,以滴答时钟,搭建时间片轮询

        略

3、修改MXCUBE生成的代码main.c的main()函数为mainRun()函数

4、新建SimuLink模型,并打开保存

        略

5、配置SimuLink模型

6、随便做个模型并代码生成,并把生成的代码名称放在C代码工程里,工程根目录下的C代码都要添加到工程里(注意随着工程的增加根目录下的C代码文件可能最增加,即使补充),并且要把根目录设置成头文件目录

7、由于是使用CAN通讯,有可能会使用到下图的工具,需要把一个头文件“can_message.h”放在工程的头文件目录下

/* Copyright 2008-2015 The MathWorks, Inc. */
/*** @file:       can_message.h** Purpose:     Declare custom and register CAN datatype.** $Authors:    Shankar Subramanian $** $Copyright: 2008-2014 The MathWorks, Inc.$**/
#ifndef __CANMESSAGE__HEADER__
#define __CANMESSAGE__HEADER__// #ifdef RTWTYPES_H
#include "rtwtypes.h" /* Use rtwtypes.h if available */
// #else
// #include "tmwtypes.h"
// #endif/* @DO NOT REMOVE: The following typedef is required for targets (FM5, C166 et
http://www.lryc.cn/news/421316.html

相关文章:

  • Cloud Kernel SIG 月度动态:ANCK OOT 驱动基线更新,发布 2 个 ANCK 版本
  • vue3仿飞书头像,根据不同名称生成不同的头像背景色
  • SpringBoot整合三方
  • React之组件的使用
  • 深度学习--长短期记忆网络
  • 研0 冲刺算法竞赛 day29 P2249 【深基13.例1】查找
  • 基于vue框架的CKD电子病历系统nfa2e(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • 笔记:python 安装tar包报错
  • 575. 分糖果
  • 手机电量消耗分析工具 Battery Historian 指南
  • 笔试练习day4
  • 公主少爷都爱看的haproxy七层代理详细介绍及常见实验详解
  • Android笔试面试题AI答之Kotlin(6)
  • “tcp控制协议”的理解
  • 考试成绩查询系统,发成绩不再愁
  • 【扒代码】图像数据 Transformer
  • 光伏仿真系统的使用流程
  • 【Dash】使用 dash_mantine_components 创建图表
  • Unity 输入模块 之 初识新输入系统(其实也不新)
  • springboot+redis集群实现集群拓扑动态刷新温故
  • LoadRunner常用函数介绍
  • 通讯录管理系统
  • 基于Python爬虫+机器学习的长沙市租房价格预测研究
  • 开发效率翻倍攻略!大学生电脑小白管理秘籍,资料秒搜技巧大公开!C盘满了怎么办?如何快速安全的清理C盘?烦人的电脑问题?一键解决!
  • [C#数据加密]——MD5、SHA、AES、RSA
  • QT不阻塞UI的方式
  • 鸿蒙HarmonyOS开发:常用布局及实用技巧
  • 【解答】洛必达法则的使用条件及常见错误,洛必达法则的适用条件,常见的易错点,2022数一第一题例题
  • 使用Python下载飞书共享表格数据教程
  • 【C++】protobuf的简单使用(通讯录例子)