GPIO基本结构
寄存器中高16位没有用到
GPIO位结构
GPIO模式
开漏、推挽输出
复用开漏、推挽输出
LED和蜂鸣器简介
无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音
硬件电路
使用推挽输出的方式,高电平弱驱动,低电平强驱动
通常使用第一种电路,也就是高电平弱驱动,
因为大多数情况下外部负载不需要电平达到电源电压的绝对最大值,而且这种设计能够提供合理的输出电流,同时在需要时还能节省功耗
低电平强驱动通常在特殊要求下使用,比如需要确保输出电平能够降到地线电压的绝对最低值,但这可能会引入更多的功耗。选择适合的驱动方式取决于特定应用的需求
传感器模块简介
传感器模块: 传感器元件 (光敏电阻/热敏电阻/红外接收管等) 的电阻会随外界模拟量的变化而变化,通过与定值电阻分压即可得到模拟电压输出,再通过电压比较器进行二值化即可得到数字电压输出
无光线时,输出指示灯灭,输出高电平
C语言typedef
区别:
1、define的新名字在左边,typedef新名字在右边
2、分号区别
3、define能改所有名字,typedef只能改变量类型
c语言枚举
关键字:enum
用途: 定义一个取值受限制的整型变量 (把能取的端口号都列举出来),用于限制变量取值范围;宏定义的集合
定义枚举变量:enum{FALSE = ,TRUE = 1] EnumName;因为枚举变量类型较长,所以通常用typedef更改变量类型名引用枚举成员:
EnumName = FALSE
EnumName = TRUE;