GPIO输入以及C语言
按键抖动:过滤,加一段延时
若遇到电路中一端接电路,另一端接地的电容,考虑滤波电容的作用,使电路稳定,在电路分析的时候可以遮掉
传感器:红外发射管和接收管可以做寻迹小车
左上角第一个:按键按下,接地低电平,按键松开,悬空电压不稳定,加个上拉电阻,则稳定PA0高电平
第二个图外接上拉电阻:可以想象上拉电阻为一个弹簧按键松开上拉高电平 按键按下接GND为无穷大的力低电平。PA0可以控制为浮空或者上拉,两个上拉高电平稳定低电平损耗
第三个内接下拉:同理第四个了解即可
C语言
数据类型
Char字符按道理应该存放字符,但是单片机中用来存放整数
宏定义“#define”
用途:用一个字符代替一个数字,将数据参数映射到一个字符串上,
关键字Typedef:
用途,将较长的变量类型换个名字,便于使用
两者区别:
宏定义新名字在左边,不用分号;任何名字都能换
typedef新名字在右边,要分号;只能专门给变量类型换名字
给变量类型重命名一般用typedef
结构体:struct
用途:数据打包,不同类型变量的合集
地址指针加->结构体名字
用结构体变量的名字,用.来引出结构体成员
若名字太长结构体不方便
此时可以用typedef
到时候要再定义那个结构体直接用StructName替换一长串即可
枚举:enum
用途:定义一个取值受限制的整型变量,用于限制变量取值范围
比如定义一个变量用来存储星期的值,理论上1-7,定义一个整型变量,那么这个变量去什么数都可以不受到限制,这个时候出现数据不合法如星期八,则可以用枚举
定义和应用:
{Monday=1,Tuesday=2,Wednesday=3}week;如果数按顺序累加赋值可省略{Monday=1,Tuesday,Wednesday}week;
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.