【STM32】STM32学习笔记-GPIO输入(07)

00. 目录

文章目录

    • [00. 目录](#00. 目录)
    • [01. 按键简介](#01. 按键简介)
    • [02. 传感器模块简介](#02. 传感器模块简介)
    • [03. 光敏电阻传感器](#03. 光敏电阻传感器)
    • [04. 按键电路图](#04. 按键电路图)
    • [05. C语言数据类型](#05. C语言数据类型)
    • [06. C语言宏定义](#06. C语言宏定义)
    • [07. C语言typedef](#07. C语言typedef)
    • [08. C语言结构体](#08. C语言结构体)
    • [09. C语言枚举](#09. C语言枚举)
    • [10. 附录](#10. 附录)

01. 按键简介

  • 按键:常见的输入设备,按下导通,松手断开

  • 按键抖动:由于按键内部使用的是机械式弹簧片来进行通断的,所以在按下和松手的瞬间会伴随有一连串的抖动

02. 传感器模块简介

  • 传感器模块:传感器元件(光敏电阻/热敏电阻/红外接收管等)的电阻会随外界模拟量的变化而变化,通过与定值电阻分压即可得到模拟电压输出,再通过电压比较器进行二值化即可得到数字电压输出

实物图

电路原理图

03. 光敏电阻传感器

传感器接线图

04. 按键电路图

05. C语言数据类型

06. C语言宏定义

关键字:#define

用途:用一个字符串代替一个数字,便于理解,防止出错;提取程序中经常出现的参数,便于快速修改

定义宏定义:

c 复制代码
#define ABC 12345

引用宏定义:

c 复制代码
 int a = ABC; //等效于int a = 12345;

07. C语言typedef

关键字:typedef

用途:将一个比较长的变量类型名换个名字,便于使用

定义typedef:

c 复制代码
 typedef unsigned char uint8_t;

引用typedef:

c 复制代码
 uint8_t a; //等效于unsigned char a;

08. C语言结构体

•关键字:struct

用途:数据打包,不同类型变量的集合

•定义结构体变量:

c 复制代码
 struct{char x; int y; float z;} StructName;

因为结构体变量类型较长,所以通常用typedef更改变量类型名

•引用结构体成员:

c 复制代码
 StructName.x = 'A';

 StructName.y = 66;

 StructName.z = 1.23;

或 pStructName->x = 'A'; //pStructName为结构体的地址 pStructName->y = 66;

c 复制代码
 pStructName->z = 1.23;

09. C语言枚举

关键字:enum

用途:定义一个取值受限制的整型变量,用于限制变量取值范围;宏定义的集合

定义枚举变量:

c 复制代码
enum{FALSE = 0, TRUE = 1} EnumName;

因为枚举变量类型较长,所以通常用typedef更改变量类型名

引用枚举成员:

c 复制代码
 EnumName = FALSE;
 EnumName = TRUE;

10. 附录

参考: 【STM32】江科大STM32学习笔记汇总

相关推荐
liangbm331 分钟前
数学建模笔记——动态规划
笔记·python·算法·数学建模·动态规划·背包问题·优化问题
潮汐退涨月冷风霜37 分钟前
机器学习之非监督学习(四)K-means 聚类算法
学习·算法·机器学习
GoppViper42 分钟前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理
羊小猪~~1 小时前
深度学习基础案例5--VGG16人脸识别(体验学习的痛苦与乐趣)
人工智能·python·深度学习·学习·算法·机器学习·cnn
Charles Ray2 小时前
C++学习笔记 —— 内存分配 new
c++·笔记·学习
重生之我在20年代敲代码2 小时前
strncpy函数的使用和模拟实现
c语言·开发语言·c++·经验分享·笔记
我要吐泡泡了哦3 小时前
GAMES104:15 游戏引擎的玩法系统基础-学习笔记
笔记·学习·游戏引擎
骑鱼过海的猫1233 小时前
【tomcat】tomcat学习笔记
笔记·学习·tomcat
贾saisai5 小时前
Xilinx系FPGA学习笔记(九)DDR3学习
笔记·学习·fpga开发
北岛寒沫5 小时前
JavaScript(JS)学习笔记 1(简单介绍 注释和输入输出语句 变量 数据类型 运算符 流程控制 数组)
javascript·笔记·学习