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

00. 目录

文章目录

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

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

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

  • 02. 传感器模块简介

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

    电路原理图

    03. 光敏电阻传感器

    传感器接线图

    04. 按键电路图

    05. C语言数据类型

    06. C语言宏定义

    关键字:#define

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

    定义宏定义:

    #define ABC 12345
    

    引用宏定义:

     int a = ABC; //等效于int a = 12345;
    

    07. C语言typedef

    关键字:typedef

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

    定义typedef:

     typedef unsigned char uint8_t;
    

    引用typedef:

     uint8_t a; //等效于unsigned char a;
    

    08. C语言结构体

    •关键字:struct

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

    •定义结构体变量:

     struct{char x; int y; float z;} StructName;
    

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

    •引用结构体成员:

     StructName.x = 'A';
    
     StructName.y = 66;
    
     StructName.z = 1.23;
    

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

     pStructName->z = 1.23;
    

    09. C语言枚举

    关键字:enum

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

    定义枚举变量:

    enum{FALSE = 0, TRUE = 1} EnumName;
    

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

    引用枚举成员:

     EnumName = FALSE;
     EnumName = TRUE;
    

    10. 附录

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

    作者:Print World

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【STM32】STM32学习笔记-GPIO输入(07)

    发表回复