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

news/2024/12/22 16:35:58/

本小节主要是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语言枚举


http://www.ppmy.cn/news/1535885.html

相关文章

【2024年最新】基于springboot+mysql就业信息管理系统

技术摘要 技术框架:以springboot作为框架,业务模式:B/S模式数据库:MySql作为后台运行的数据库服务器:使用Tomcat用为系统的服务器 系统展示 系统实现功能 本次实现一个就业信息管理系统,通过这个系统能够满…

k8s 之安装busybox

作者:程序那点事儿 日期:2024/02/12 14:56 busybox是linux的一个工具镜像,包含我们常用的一些工具。可以利用这个工具来做一些测试的操作。 安装命令 # 运行一个容器。 kubectl run -it --image busybox:1.28.4 dns-test --restartN…

上海我店:创新模式引领本地生活新风尚

近年来,一个名为“上海我店”的新兴平台在网络空间中迅速崛起,其公布的业绩令人瞩目——在短短三年内,交易流水已跨越百亿大关,并在最近一个月内迎来了近百万的新增注册用户。这一强劲的增长势头,无疑吸引了众多商家和…

EtherNet/IP 转 EtherNet/IP, EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关

EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关https://item.taobao.com/item.htm?ftt&id822721028899 协议转换通信网关 EtherNet/IP 转 EtherNet/IP GW系列型号 MS-GW22 概述 简介 MS-GW22 是 EtherNet/IP 和 EtherNet/IP 协议转换网关,…

uni-app之旅-day01-home页

首页 3.0 创建 home 分支 🍕🍕🍕运行如下的命令,基于 master 分支在本地创建 home 子分支,用来开发和 home 首页相关的功能git branch(查看分支)git checkout -b home(创建home分支) 3.1 配置网络请求 &#x1f32…

微服务实战——ElasticSearch(搜索)

商品检索——ElasticSearch(搜索) 1. 检索条件&排序条件分析 全文检索:skuTitle -> keyword排序:saleCount(销量)、hotScore(热度分)、skuPrice(价格&#xff0…

iTextPDF中,要实现表格中的内容在数据长度超过边框时自动换行

在iTextPDF中,要实现表格中的内容在数据长度超过边框时自动换行,你可以使用Phrase对象并设置其HyphenationEvent,或者使用Chunk对象并设置其setSplitCharacter方法。以下是一些方法来实现这一功能: 1. 使用Phrase对象&#xff1a…

CTF刷题buuctf

[WUSTCTF2020]颜值成绩查询 拿到相关题目,其实根据功能和参数分析。需要传入一个学号然后进行针对于对应的学号进行一个查询,很可能就会存在sql注入。 其实这道题最难的点,在于过滤了空格,因此我们使用 /**/来过滤空格的限制。…