stm32常用编写C语言基础知识,条件编译,结构体等

位操作

在这里插入图片描述

宏定义#define

在这里插入图片描述
带参数的宏定义
在这里插入图片描述

条件编译

在这里插入图片描述
下面是头文件中常见的编译语句,其中_LED_H可以认为是一个编译段的名字。
在这里插入图片描述
下面代码表示满足某个条件,进行包含头文件的编译,SYSTEM_SUPPORT_OS可能是条件,当非0时,可以进行下面的编译

#if SYSTEM_SUPPORT_OS
#include "includes.h"					//ucos 使用	  
#endif

extern 声明

在这里插入图片描述
在这里插入图片描述

typedef 类型别名

这个和#define格式有些相似,但自己定义的名字位置刚好相反。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在源码中常见的结构体定义方式

这里使用了类型别名结构体的知识
在这里插入图片描述
常见的使用方法,下面首先定义一个IO口的结构体变量,然后对其中每个变量进行赋值
在这里插入图片描述

指针

在这里插入图片描述
指针常见的错误使用
在这里插入图片描述

对常量地址进行赋值操作

直接操作地址,可以理解为对常量地址指针内放入值
在这里插入图片描述
通过预编译的方式把寄存器某个地址放入的值先定义为一个名字,再对这个名字赋值
在这里插入图片描述

堆栈的不同

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小程序-购物车-基于SKU电商规格组件实现

SKU 概念: 存货单位( Stock Keeping Unit ), 库存 管理的最小可用单元,通常称为“单品”。 SKU 常见于电商领域,对于前端工程师而言,更多关注 SKU 算法 ,基于后端的 SKU 数据…

总结 HTTPS 的加密流程

一、前言 http是为了解决http存在的问题而在http基础上加入了SSL/TSL,在HTTP/2中TCP三次握手后会进入SSL/TSL握手,当SSL/TSL建立链接后,才会进行报文的传输。 二、HTTPS的混合加密 我们先来认识密钥: 密钥是用于加密和解密数据…

VMware安装保姆教程、Docker安装/依赖安装缓慢等问题

常见问题前置: 1、docker依赖安装缓慢,没有走设置的资源库:解决安装docker-ce过慢 Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds‘) 在添加阿里云镜像后安装依旧慢: yum-config-manager --add-repo http://mirrors.aliyun.com/docker…

JavaSE--基础语法(第一期)

Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。不仅如此,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和 跨平台部署的支持环境,并广泛应用于嵌入式系统…

鸿蒙HarmonyOS开发:tabs结合tabContent实现底部tabBar导航栏页面布局

文章目录 一、组件介绍1、Tabs参数属性事件TabsController 2、子组件属性说明 二、基础示例1、基础顶部导航2、效果3、可以滚动导航栏2、效果 三、扩展示例自定义导航栏1、代码2、效果 一、组件介绍 Tabs组件的页面组成包含两个部分,分别是TabContent和TabBar。Tab…

宝塔面板修改端口后无法登入

今天通过宝塔面板登录腾讯云主机,看到下面的提醒,顺便点进去随便改了个端口 本以为改端口是很简单事情,结果我改完之后面板立马登不上了,接下来我改了登录地址和端口也不行,我以为是防火墙的问题,增加了防火…

告别登录烦恼,WPS免登录修改器体验!(如何实现不登录使用WPS)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 解决方案 📒🎈 获取方式 🎈⚓️ 相关链接 ⚓️ 📖 介绍 📖 想象一下,如果你能够绕过繁琐的登录流程&#x…

微信小程序--微信开发者工具使用小技巧(3)

一、微信开发者工具使用小技巧 1、快速创建小程序页面 在app.json中的pages配置项,把需要创建的页面填写上去 2、快捷键使用 进入方式 1: 文件–>首选项–> keyboard shortcuts 进入快捷键查看与设置 进入方式 2: 设置–>快捷键…

Tower在深度学习中的概念,tower没有确切定义

在论文UniTS中,来自Havard的工作。 tower更像是针对一个task的组件 tower这个概念貌似在REC(recommendation)推荐系统中使用较多 deep learning - What is a tower? - Data Science Stack Exchange https://developers.google.com/machin…

lvgl无法显示中文

环境: VS2019、LVGL8.3 问题: VS2019默认编码为GB2312, 解决: VS2022设置编码方式为utf-8的三种方式_vs utf8-CSDN博客 我用的方法2,设置为 utf-8无签名就行。

基于transformers框架实践Bert系列6-完形填空

本系列用于Bert模型实践实际场景,分别包括分类器、命名实体识别、选择题、文本摘要等等。(关于Bert的结构和详细这里就不做讲解,但了解Bert的基本结构是做实践的基础,因此看本系列之前,最好了解一下transformers和Bert…

c++入门的基础知识

c入门 C是在C的基础之上,容纳进去了面向对象编程思想,并增加了许多有用的库,以及编程范式等。熟悉C语言之后,对C学习有一定的帮助,本章节主要目标: 补充C语言语法的不足,以及C是如何对C语言设计…

ClickHouse vs. Elasticsearch: 计数聚合的工作原理

本文字数:7875;估计阅读时间:20 分钟 审校:庄晓东(魏庄) 介绍 在另一篇博客文章中,我们对 ClickHouse 和 Elasticsearch 在大规模数据分析和可观测性用例中的性能进行了比较,特别是对…

k8s-helloword部署一个应用

k8s-helloword部署一个应用 快速部署一个pod命令 部署一个名为 test-nginx Pod 方式一:使用 kubectl run kubectl run test-nginx --imagenginx然后使用 kubectl get pod 查看,kubectl get pod 是查看默认名称空间下的Pod 如果想要跟详细的查看这个…

HTML静态网页成品作业(HTML+CSS)——宠物狗介绍网页(3个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有3个页面。 二、作品演示 三、代…

如何禁止U盘拷贝文件|禁止U盘使用的软件有哪些

禁止U盘拷贝文件的方法有很多,比如使用注册表、组策略编辑器等,但这些方法都适合个人,不适合企业,因为企业需要对下属多台电脑进行远程管控,需要方便、省时、省力的方法。目前来说,最好的方法就是使用第三方…

RDP方式连接服务器上传文件方法

随笔 目录 1. RDP 连接服务器 2. 为避免rdp 访问界面文字不清晰 3. 本地上传文件到服务器 1. RDP 连接服务器 # mstsc 连接服务器step1: 输入mstscstep2: 输入 IP, username, passwd 2. 为避免rdp 访问界面文字不清晰 解决方法: 3. 本地上传文件到服务器 step…

Java进阶学习笔记13——抽象类

认识抽象类: 当我们在做子类共性功能抽取的时候,有些方法在父类中并没有具体的体现,这个时候就需要抽象类了。在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类就定义为抽象类…

ASP+ACCESS基于WEB网上留言板

摘要 本文概述了ACCESS数据库及其相关的一些知识,着重论述ACCESS数据库和ASP的中间技术,构建一个简单的留言板。具体的实现是构造一个留言板系统,能很方便的和同学沟通和交流。留言板具有功能强大、使用方便的特点。用户以个人的身份进入&am…

jenkins+sonarqube部署与配置过程

1、部署jenkins(本文不做说明) 2、部署sonarqube(docker-compose) version: "2.1"services:sonarqube:image: sonarqube:9.9.4-communitycontainer_name: sonarqubedepends_on:- dbports:- 9000:9000networks:- sonarnetenvironment:SONARQU…