蓝桥杯嵌入式 cubeMX生成代码解读

news2024/11/25 17:19:37

文章目录

  • 前言
  • 一、代码风格
  • 二、为什么要这些注释?
  • 三、生成的独立模块的代码
  • 总结


前言

本篇文章讲介绍一下cubeMX生成代码的风格。

一、代码风格

在main.c中可以看到非常多的注释代码,很多人都不知道这些是用来干嘛的,现在就给大家介绍一下这些注释的作用。
在这里插入图片描述
系统头文件放置区域
这里我们可以看到包含了main.h和gpio.h这些都是cubemx为我们生成的文件,这些生成的文件的头文件将会放在这里。

/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "gpio.h"

我们自己写的头文件放置区域
下面可以看到Private includes这两个单词就代表的是私人的头文件。
我们写的时候要将头文件放入USER CODE BEGIN Includes和USER CODE END Includes之间。

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */

/* USER CODE END Includes */

写代码时一定要严格按照要求,将自己写的代码放入USER CODE BEGIN和USER CODE END中间。

  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

二、为什么要这些注释?

当你修改了cubeMX的配置时重新生成代码,假如你的代码没有严格按照要求写入相应的位置那么重新生成的工程会覆盖你写的代码。所以严格按照要求编写代码是非常重要的。

三、生成的独立模块的代码

之前也和大家介绍过gpio.c和gpio.h了。在cubeMX里面每次配置一个模块都会生成对应的.c和.h文件,当你配置了gpio那么就会有gpio.c和gpio.h的文件生成,当你配置了IIC那么就会有对应的IIC.c和IIC.h。
这些独立的.c和.h文件方便我们去查看对应模块的功能和配置,当需要修改对应模块的时候,我们可以直接手动修改而不需要去cubemx里面再次生成代码了。

总结

这个看起来是一个很小的问题,但是希望大家平时养成好的习惯,这样写出来的代码也会更加规范,不会显得凌乱。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/90518.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你了解Java中的ForkJoin吗?

什么是ForkJoin? ForkJoin 从字面上看Fork是分岔的意思,Join是结合的意思,我们可以理解为将大任务拆分成小任务进行计算求解,最后将小任务的结果进行结合求出大任务的解,这些裂变出来的小任务,我们就可以交给不同的线…

新智慧杂志新智慧杂志社新智慧编辑部2022年第30期目录

杏坛潮_热点关注 特色劳动教育模式探究——基于“劳动周”项目的设计与实践 王胜; 1-3《新智慧》投稿:cn7kantougao163.com “双减”背景下小学数学大单元深度学习的实践与探索——以小学高年级为例 王晓雪; 4-6 杏坛潮_创新教育 问题教学法在高中物理教…

20221215英语学习

今日新词: rich adj.富有的, 富裕的, 油腻的 luck n.运气, 幸运, 好运, 侥幸 live adj.活的, 现场直播的, 实况转播的, 现场演出的 tutor n.家庭教师;私人教师;导师;助教 swipe v.挥拳打, 扬起巴掌打, 挥起(物体&…

刷屏的AI 绘画,你成功驯服了吗?其背后的AIGC模型你可能还不知道

文章目录前言基于 CLIP Latents 的条件文本图像生成BLIPHugging Face奇点智源中文-CLIP百度昆仑万维之AI绘画前言 随着人工智能技术的发展与完善,AIGC(AI generated content)在内容的创作上为人们的工作和生活带来前所未有的帮助&#xff0c…

SpringCloud(7)— ElasticSearch基础

SpringCloud(7)— Elasticsearch基础 一 初识Elasticsearch elasticserach是一个强大的开源搜索引擎,可以从海量数据中迅速找到想要的内容。 elasticsearch结合了 Kibana, Logstach, Beats,也就是 elastic stack。主要应用于日志数据分析&…

【信管4.1】范围与需求

范围与需求范围其实说白了就是我们要做的东西都包括哪些内容,这些内容的边界在哪里,范围其实从另一个角度来说的话,也可以看成是一个产品的约束。为什么要有一个约束呢?你见过一个即是电商,又是社交,还能兼…

Python还好就业吗?30多岁转行晚吗?

最近不少人在微信问我现在Python还好就业不好就业?发展前景怎么样?我30多岁了,还能不能转行编程?Python该怎么学?如果做Python到底该做爬虫还是数据分析还是web?…等等这样的问题,现在逐一谈下我…

将市场部与整个组织联系起来,协调每个人的利益,来达成业务目标

让我们来谈谈业务目标,以及这些目标如何将营销部门与整个组织联系起来,并帮助协调每个人的利益。什么是有效的目标,什么是无效的目标?举一两个例子就好了。 当然。我们目前在高管层看到的情况是——甚至在新冠疫情之前我们就已经看到了——首…

【软件测试】你遇到的随机的bug?出现的原因......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 随机性bug? 为什么…

学习过程中遇到的问题总结(持续更新~~~)

问题总结问题1:Access denied for user 1234localhost (using password: YES)问题2:启动tomcat问题,报错Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:run (default-cli) on project springMvc_03_request_mapp…

Linux 6.2:华为代码加速核心功能 715 倍!

整理 | 王启隆出品 | CSDN(ID:CSDNnews)作为送给全球开发者的圣诞礼物,Linux 在前日发布了 Linux 6.1 内核的稳定版,并开启了 Linux 6.2 的合并窗口。这次更新不仅为广大用户带来了不少新功能与改进,还让许…

竣达技术 | 智能机房动力环境监控主机、多功能监控服务器

专为现代各类计算机及网络通信机房、通信行业基站而设计的远程多功能监控服务器,系统具备3个RS485通讯接口可监控机房环境温湿度、门禁、烟雾、漏水、市电断电等各类传感器检测对应的告警状态,同时支持15个开关量检测。6路继电器输出控制,支持…

MySQL——表数据删了一半了,表文件大小还是不变

本篇文章针对 InnoDB 引擎展开讨论。一个 InnoDB 表包含两部分,即:表结构定义和数据。在 MySQL 8.0 版本以前,表结构是存在以.frm 为后缀的文件里。而 MySQL 8.0 版本,则已经允许把表结构定义放在系统数据表中了。因为表结构定义占…

Windows安装Jenkins

文章目录1.下载Jenkins2.安装Jenkins1.下载Jenkins 进入jenkins官网下载 https://www.jenkins.io/download/ 要下载不同版本的话可以去下面链接看看 https://mirrors.tuna.tsinghua.edu.cn/jenkins/ 2.安装Jenkins 1.点击下载下来的 jenkins.msi 文件 进行安装 2.选择第…

【Python爬虫实战】找工作太难?职场套路太深?来来来小编教你做人啊—这里的老板都跑到街上招人了,月薪1万够不够?

导语 哈喽大家好!我是木子吖~ 上一期给大家已经介绍了爬虫的一些功能步骤等等,这一期想着还是给大家更新一些爬虫的案 例吧!这里有我给大家准备的精心准备的爬虫案例代码,当然如果基础有点儿差的小伙伴儿也 不用担心哈&#x…

【Spring】——15、使用@PropertySource加载配置文件

📫作者简介:zhz小白 公众号:小白的Java进阶之路 专业技能: 1、Java基础,并精通多线程的开发,熟悉JVM原理 2、熟悉Java基础,并精通多线程的开发,熟悉JVM原理,具备⼀定的线…

【Java】Java异常Exception和Error有什么区别?

异常处理Exception 和 Error 的区别try-catch代码块总结写程序就需要考虑程序中是否有异常,如果存在异常应该如何处理比较友好。Java 语言在设计之初就提供了相对完善的异常处理机制,这也是 Java 得以大行其道的原因之一,因为这种机制大大降低…

三方线上美食城|基于Springboot的三方线上美食商城系统

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路 关注作者有好处 文末获取源…

Neo4j 实战(一)-- Mac neo4j 安装与配置

前言 Neo4j是一个高性能的,Nosql图形数据库。Nosql =no sql,即与传统的将数据结构化并存储在表中的数据库不一样。Neo4j将数据存储在网络上,我们也可以把Neo4j视为一个图引擎。我们打交道的是一个面对对象的、灵活的网络结构而不是…

【消息中间件】RocketMQ底层如何实现生产者发送消息

目录 一、前言 二、实现生产者发送消息 1、启动生产者 1.1、RocketMQTemplate消息发送模板 1.2、afterPropertiesSet()逻辑 1.3、DefaultMQProducer#start()逻辑 2、DefaultMQProducer#start()启动逻辑 2.1、更新路由信息到本地 2.2、从本地获取主题Topic信息 2.3、数…