STM32(五)GPIO输入硬件电路及C语言知识复习

本小节主要是GPIO输入模式下的硬件电路和C语言知识的回顾

C语言中的数据:定义和引用

一、GPIO输入模式下的硬件和电路

1.按键介绍

可以用延时函数消除按键抖动

2.传感器模块介绍

(1)传感器元件的电阻会随模拟量的变化而变化,通过与定值电阻的分压得到模拟输出电压

(2)上下拉电阻工作原理介绍

定值电阻R1为上拉电阻,相当于上面的弹簧将杆上拉,可变电阻N1为下拉电阻,将杆子往下拉,电阻阻值越小,弹簧拉力越强。最终的输出电压为弹簧拉扯下杆子的高低。

上拉和下拉电阻在学习单片机的过程中会经常遇见,如弱上拉、弱下拉、强上拉、强下拉,强和弱是指电阻阻值的大小,即指弹簧弹力的大小。

3.按键硬件电路

一般使用上面两种下接按键的方式:第一种是按下时接地,此时读取的电压是低电平,松开是为悬空,要求GPIO接口内部电路配置为上拉模式,此时引脚悬空,接的是高电平。第二种是接了一个上拉电阻,此时松开为高电平,不会出现悬空,此时引脚可以配置为浮空输入或上拉输入

二、C语言知识复习

1.C语言数据类型

(1)在51单片机中int是占16位的,在STM32中int占32位,若要用16位的数据,则要用short表示

(2)stdint关键字这一列可直接用来代替关键字定义

2.C语言宏定义

(1)使用宏定义进行改名,增强程序的可读性

(2)宏定义后边不需要分号,定义名在左边,可以替换任意类型的名字

3.typedef

定义名在右边,最后需要加分号,只能给变量类型换名字,变量类型换名字一般用typedef

4.C语言结构体

(1)结构体是一个数据打包的过程,首先将参数写到结构体的变量中,然后统一打包,将结构体传递到函数中,再在函数里,把结构体拆包,读取变量。使用了结构体的传参方式

注意:结构体中使用分号隔开

(2)结构体的定义和使用

因为结构体的定义很长,用typedef换名字,以便更方便简洁的使用。

5.C语言枚举

相关推荐
项目題供诗1 小时前
51单片机入门(八)
单片机·嵌入式硬件·51单片机
羽获飞2 小时前
从零开始学嵌入式之STM32——9.STM32的时钟系统
stm32·单片机·嵌入式硬件
飞睿科技2 小时前
乐鑫智能开关方案解析:基于ESP32-C系列的低功耗、高集成设计
嵌入式硬件·物联网·esp32·智能家居·乐鑫科技
来自晴朗的明天3 小时前
13、NMOS 电源防反接电路
单片机·嵌入式硬件·硬件工程
17(无规则自律)4 小时前
深入浅出 Linux 内核模块,写一个内核版的 Hello World
linux·arm开发·嵌入式硬件
芯岭技术4 小时前
PY32MD310单片机:高性能、低功耗的32位电机控制微控制器
单片机·嵌入式硬件
wotaifuzao5 小时前
STM32 + FreeRTOS 的订阅通知组件架构
stm32·嵌入式硬件·架构·freertos·事件驱动·嵌入式架构
小龙报5 小时前
【51单片机】深度解析 51 串口 UART:原理、配置、收发实现与工程化应用全总结
c语言·开发语言·c++·stm32·单片机·嵌入式硬件·51单片机
Lester_110113 小时前
STM32 高级定时器PWM互补输出模式--如果没有死区,突然关闭PWM有产生瞬间导通的可能吗
stm32·单片机·嵌入式硬件·嵌入式软件
小李独爱秋14 小时前
“bootmgr is compressed”错误:根源、笔记本与台式机差异化解决方案深度指南
运维·stm32·单片机·嵌入式硬件·文件系统·电脑故障