STM32:结构体总结

2023-05-16

1 什么是结构体
我们知道数据的基本类型有:int (整形 ), char(字符形) , unsigned int (无符号整形),unsigned char (无符号字符形) 等,还包括数组等,但有些情况下 这些都 无法满足现实的需求,于是程序员把所需变量组织起来,类似数组,便不同于数组,定义成一个新的数据类型,这就是结构体struct,.结构体类型是一种新的数据类型,在程序中,可以像基本数据类型一样对待.定义结构体类型变量, 表达方式如下在这里插入图片描述
typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明
在这里插入图片描述

2 结构体的引用

要对结构体变量赋值,实质上是对结构体成员的操作,引用结构体成员时,在结构体变量名后加上运算符" ."和成员名称,
结构体变量名字 . 成员名 如下图在这里插入图片描述
结构体指针变量定义也是一样的,跟其他变量没有啥区别。
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
结构体指针成员变量引用方法是通过“->”符号实现,比如要访问 usart3 结构体指针指向的结构体的成员变量 BaudRate,方法是:
GPIOx->CRH = tmpreg;

3 在结构体的使用中,配合使用枚举类型,枚举类型也是一种数据类型,使用同int char

利用关键字enum 可以进行声明枚举类型,这也是一种数据类型,一个枚举类型变量包括一组相关的标识符,每个标识符都对应一个整数值,称为枚举常量在这里插入图片描述
定义一个枚举类型变量.如***GPIOSpeed_TypeDef*** GPIO_Speed; GPIOMode_TypeDef GPIO_Mode;

在这里插入图片描述

现在再看GPIO初始化,就简单多了吧.




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

STM32:结构体总结 的相关文章

  • 【MYSQL】 三大范式 表的关系 外键 ER图

    三大范式 第一范式 xff08 每列保持原子性 xff09 每一列属性都是不可再分的属性值 xff0c 确保每一列的原子性 两列的属性相近或相似或一样 xff0c 尽量合并属性一样的列 xff0c 确保不产生冗余数据 第二范式 xff08
  • 五年嵌入式经验工作与心得

    不知不觉已经从事嵌入式行业5年了 xff0c 大学4年工作5年一直专心从事嵌入式工作 下面我谈一下我对嵌入式的看法 可能对大神们没什么用 xff0c 希望对刚入门或者即将走出校园的同学们有些帮助 嵌入式在工作中分为固件程序 xff08 fi
  • JavaScript-----详细讲解js节点以及节点操作

    x1f353 获取元素通常使用两种方式 x1f407 利用DOM提供的方法获取元素 document querySelector document getElementsByClassName document getElementsByT
  • echarts 全局换肤 echarts根据系统颜色换肤,echarts自定义icon,echarts发光效果

    官网定义颜色网址 效果 代码 span class token tag span class token tag span class token punctuation lt span template span span class t
  • 计算机网络

    计网 2022 4 6 BDY 猛猪猪语录 xff1a Hash xff01 文章目录 计网一 网络分层 xff08 OSI 和 TCP IP 网络分层模型详解 xff09 1 OSI 七层模型2 TCP IP模型3 问题 xff1a 为什
  • 基于STM32四轴飞控制作笔记

    基于STM32四轴飞控制作笔记 前言 大四选了个四轴飞控作为毕业设计的题目 xff0c 近来没事 xff0c 把之前的制作做个总结开源出来 硬件设计 1 遥控MCU模块和飞控的MCU模块都采用stm32f103c8t6单片机 xff0c 很
  • ubuntu20.04 ROS打开gazebo 世界一片灰,模型没有显示颜色

    文章目录 2023年2月10日 更新原回答配置问题描述解决方案其他 2023年2月10日 更新 Win11 43 Ubuntu20 04双系统 43 ROS noetic 影子不显示 xff0c 模型没颜色 大概率是显卡的问题 xff0c
  • STM32学习笔记:PWM互补输出(无刷直流电机驱动控制)

    需要达成的目的为CH1通道输出PWM波 xff0c CH1N通道输出高电平等 最新方法已在新博客贴出 xff0c 更为简便 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 6
  • Postman如何设置成中文?(汉化)

    一 汉化补丁下载安装 点击下方这个链接 xff0c 进入gitee xff0c 在里面下载一个插件 我在写这篇文章的时候 xff0c 补丁包的最新版本号为 9 12 2 xff1a 下载 Postman 汉化补丁包 汉化补丁下载链接 xff
  • 记录:在ubuntu中以C语言实现json文件读取遇到的问题(1)(说不定会有2)

    4 12 记录在ubuntu中以C语言实现json文件读取遇到的问题 xff08 1 xff09 xff08 说不定会有2 xff09 暂记录遇到的问题及解决 xff0c 其中还有些原因没有搞明白 xff09 1 首先过程参考自一位大佬的博
  • 标量/向量/矩阵求导方法

    这篇博客源于在看论文时遇到了一个误差向量欧氏距离的求导 xff0c 如下 xff1a 在看了一堆资料后得出以下结论 xff1a 这个结论是怎么来的呢 xff1f 这就涉及标量 向量 矩阵的求导了 由于标量 向量都可以看做特殊的矩阵 xff0
  • 自学笔记:单片机蜂鸣器(包含程序)

    蜂鸣器的工作原理 xff08 搬运 xff09 蜂鸣器主要分为压电式蜂鸣器 无源蜂鸣器 和电磁式蜂鸣器 xff08 有源蜂鸣器 xff09 两种类型 压电式蜂鸣器 主要由多谐振荡器 压电蜂鸣片 阻抗匹配器及共鸣箱 外壳 等组成 多谐振荡器由
  • Invalid bound statement (not found):常见报错原因解决

    问题场景 xff1a 在SpringMVC项目中 xff0c 通过mapper接口加载映射文件 xff0c 完成数据库的操作 问题描述 报错 xff1a Invalid bound statement not found 原因分析 xff1
  • 记录一次策略模式优化代码案例

    策略模式优化案例 优化之前 优化之后 把原来的switch case 用接口方式实现 bean 注入采用map方式 key为 实现类的名称 xff0c value为实现类的bean xff0c 在所有bean注入之后执行init 方法 xf
  • 树莓派无屏幕连接

    无屏幕通过VNC显示树莓派远程桌面 我自己本来是有一个7寸屏幕的 xff0c 但是因为机器人那边需要看IP地址 xff0c 我就把屏幕装在机器上上面了 xff0c 只能vnc连接了 刷好系统的时候 xff0c 现在版本的树莓派是默认没有ss
  • SMPL论文解读和相关基础知识介绍

    SMPL论文解读和相关基础知识介绍 本文首发于微信公众号 视觉三维重建 欢迎大家关注公众号 和你分享计算机视觉算法工程师工作的点点滴滴 文章目录 SMPL论文解读和相关基础知识介绍 1 动画制作专业术语 2 SMPL 2 1 简介 2 2
  • 学术论文阅读方法

    文章目录 学术论文阅读过程大量阅读学术论文方法 xff1a 目的 xff1a 复现优秀论文提出创新点整理成文 看不懂怎么办幻灯博客视频课程代码 More研究生生活工作业务要求英语老师建议 近期基本完成机器学习和深度学习的学习 xff0c 开
  • 微信小程序未读消息右上角红点数字显示

    从weui中获得灵感 xff0c 稍微改造 xff0c 效果还不错 在消息数量为1 99时正常显示即可 xff0c 而大于99时显示99 43 使用wx if搞定 wxml部分 xff1a span class token tag span
  • [2022]李宏毅深度学习与机器学习第十五讲(必修)-Meta Learning

    2022 李宏毅深度学习与机器学习第十五讲 xff08 必修 xff09 Meta Learning 做笔记的目的Meta LearningML vs meta learningWhat is learnable in learning a
  • 浅谈esp8266

    esp8266 前言简单介绍esp8266esp8266的开发方式主流应用结语 前言 很早就听说了esp8266 xff0c 作为物联网上的入门级产品 xff0c 有一段时间曾在b站上掀起过一阵风潮 xff0c 什么用来获取显示b站粉丝量

随机推荐

  • 【无标题】

    一级标题1 QGC二次开发方法 手段 xff08 包括基本介绍 xff09 一级标题2 QGC编译过程步骤以及中遇到的问题和相应的解决办法 1 QGC二次开发方法 手段 xff08 包括基本介绍QGC和QT xff09 QGC二次开发工具
  • 实数插值方法及其 python 实现

    本文主要介绍两种常用的实数插值方法 xff1a 拉格朗日 xff08 Lagrange xff09 插值 以及 牛顿 xff08 Newton xff09 插值 及其python实现 运行效果如下 xff1a 目录 1 拉格朗日插值 2 牛
  • VS CMake 禁止警告

    cmake minimum required VERSION 3 0 project DiableWarn if WIN32 add compile options W4 add compile options wd4100 add com
  • Failed to read artifact descriptor for xxx:jar maven deploy的问题解决

    Failed to read artifact descriptor for xxx jar maven deploy的问题解决 问题描述问题分析可用方案 问题描述 我们项目使用的自定义jar包 xff0c 上传到私服仓库中 xff0c 其
  • 移动通信中的信道编码基础

    线性分组码 假设信源输出为有限域GF xff08 2 xff09 上连续的二元符号序列 xff0c 称为消息序列 在分组码中每一个消息分组含有k个信息比特 xff0c 一共有2k个不同的消息 xff0c 对应2k个不同的码字 所有码字的集合
  • 【Linux多线程服务端编程】| 【01】线程安全的对象生命期管理笔记

    文章目录 索引一 线程安全的对象生命期管理1 1 析构函数遇多线程1 2 对象销毁1 3 线程安全的observer多难1 4 原始指针有什么不好的地方1 5 shared ptr或weak ptr1 6 系统地避免指针错误1 7 应用到O
  • 计算机保研面试题总汇(网上搜集的题 自己写的答案)

    文章目录 计算机专业知识数学方向内容高数线代概率论 其他 计算机专业知识 哪些图算法中用到了动态规划的思想 xff1f Floyd算法 背包算法 TSP 进程之间的通信方式 管道Pipe 命名管道FIFO 消息队列MQ 共享存储 信号量 套
  • VSLAM框架:ORB_SLAM2采用ROS Bag获取数据

    ORB SLAM2采用ROS Bag获取数据 前言一 ROS bag数据1 ROS bag简介2 获取数据集3 查看数据集信息 二 配置文件1 配置ros文件2 配置内参文件三 启动节点1 回放ROS bag数据集2 深度相机节点 前言 之
  • for无限循环

    span class token keyword int span i span class token operator 61 span span class token number 0 span span class token pu
  • Dockerfile【超级详细】

    Dockerfile 基础知识 FROM 基础镜像 xff0c 一切从这里开始构建 MAINTAINER 镜像是谁写的 xff0c 姓名 43 邮箱 RUN 镜像构建的时候需要运行的命令 ADD 步骤 xff0c tomcat镜像 xff0
  • VDO(虚拟数据优化器)原理及配置

    1 原理 VDO xff08 Virtual Data Optimize xff09 是RHEL8 Centos8上新推出的一个存储相关技术 xff08 最早在7 5测试版中开始测试 xff09 xff0c 是Redhat收购的Permab
  • 2022爱分析·SD-WAN市场研究报告 | 爱分析报告

    报告编委 报告指导人 黄勇 爱分析 合伙人 amp 首席分析师 报告执笔人 潘天 爱分析 高级分析师 易丹 爱分析 分析师 于婉贞 爱分析 分析师 目录 1 SD WAN重构企业广域网接入市场 2 重点行业先发 xff0c SD WAN市场
  • numpy 对二维数组的常用操作

    目录 1 提取二维数组的某几列或某几行 2 获取某个范围的数据 3 所有元素求和 4 计算数组中非零元素的个数 5 使用布尔型掩码提取某些行或某些列 6 获取数组的行数或列数 7 获取最后一列 xff08 或行 xff09 的元素 8 获取
  • 群起集群 DataNode 没有启动的解决方法

    错误 启动服务 xff0c 发现没有DataNode没有启动 此原因是namenode和datanode的clusterID不一致导致datanode无法启动 产生的原因 是多次hdfs namenode format而造成的 每一次格式化
  • ajax实现图片的回显功能

    前端页面 给文件上传域绑定一个改变事件 lt tr gt lt td class 61 34 three 34 gt 图片介绍 lt td gt lt td gt lt br gt lt div id 61 34 imgDiv 34 sty
  • 为ESP8266编译时出错

    图 1 当出现图1的问题时 xff0c 是因为我们的文件扩展名为 c 实测当我们将文件扩展名改为 cpp的时候就能如图二一样正常编译 图2 由于C 43 43 是全面兼容C的 xff0c 即使我们之前使用的是C语言 xff0c 在更改文件后
  • 点云上的深度学习及其在三维场景理解中的应用————3D Scene Understanding with PointNet and PointNet++(三)

    最近在学3D方向的语义分析 师兄推荐了一个哔哩大学的将门创投 斯坦福大学在读博士生祁芮中台 xff1a 点云上的深度学习及其在三维场景理解中的应用 xff01 的宝藏视频 xff0c 我会多看几遍 xff0c 并写下每次观看笔记 up主的个
  • https://img-blog.csdnimg.cn/44575f55b6a7431392616b45e051dd2e.png——分割线专用图专用图

    https img blog csdnimg cn 44575f55b6a7431392616b45e051dd2e png
  • ROS小车——摄像头的使用(3)

    文章目录 前言一 摄像头驱动和图像的查看1 摄像头驱动2 图像的查看 二 Opencv人脸检测1 启动人脸检测应用2 虚拟机查看3 虚拟机查看人体检测4 人脸识别应用 前言 ROS小车的摄像头驱动和图像的查看 xff0c 以及opencv的
  • STM32:结构体总结

    1 什么是结构体 我们知道数据的基本类型有 int 整形 char 字符形 unsigned int 无符号整形 unsigned char 无符号字符形 等 还包括数组等 但有些情况下 这些都 无法满足现实的需求 于是程序员把所需变量组织