江科大stm32学习笔记6——GPIO输入准备

一、按键消抖

由于按键内部使用的是机械式弹簧片,所以在按下和松开时会产生5~10ms的抖动,需要通过代码来进行消抖。

二、滤波电容

在电路中,如果见到一端接在电路中,一端接地的电容,则可以考虑它的作用为滤波电容,作用为保证电路的稳定,在分析电路时可以隐去。

三、sdint关键字

sdint关键字是用typedef定义的关键字,用来代替原C语言的关键字,这里只是换个叫法而已,含义其实都相同。

  • int8_t 对应 char
  • uint8_t 对应 unsigned char
  • int16_t 对应 short
  • uint16_t 对应 unsigned short
  • int32_t 对应 int
  • uint32_t 对应 unsigned int
  • int64_t 对应 long long
  • uint64_t 对应 unsigned long long

四、typedef 

将一个变量类型换个名字,与C语言宏定义类似

typedef unsigned char uint8_t;    //注意分号不能丢
uint8_t a = 0;    //等价于unsigned char a = 0;

 五、C语言结构体

数据打包,不同类型数据的组合。int a[10]是10个整型数的集合,但如果我们想要的集合既包括整型又包括其他类型数据,可以使用结构体使它们进行集合。

//定义
struct{char x;int y;float z;}c;
//引用
c.x = 'A';
c.y = 66;
c.z = 1.23;

我们也可以将结构体与typedef混合使用以降低代码复杂程度:

typedef struct{char x;int y;float z;
}StructName_tint main()
{StructName_t c;c.x = 'A';c.y = 66;c.z = 1.23;return 0;
}

六、C语言枚举

定义一个取值受限的整形变量,用于限制变量的取值范围。

enum{MONDAY = 1,TUESDAY,WEDNESDAY}Week_t
Week_t = MONDAY;
week = MONDAY;    //week赋值只能是“MONDAY、TUESDAY、WEDNESDAY”三个中的一个

这里,如果赋值的是别的其他东西,那么编译器会报警告。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/437737.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023年:个人年度成长与团队协作成就

文章目录 个人职业发展的喜悦团队成就的辉煌公众号CSDN申请了移动安全领域新星创作者获得6月城市之星北京TOP 10获得23年博客之星TOP 41年度总结 知识星球 开拓新领域的决心免费知识大陆付费知识大陆 展望未来福利时间知识星球会员一年知识星球立减88券 在这个充满挑战与机遇的…

【使用New Bing的Dall-e-3绘画(完全免费,无需账号)】

前言 New Bing 的 DALL-E-3 是一款由 OpenAI 开发的 AI 绘画工具,它能够根据用户提供的文本提示生成高质量的图片。与其他 AI 绘画工具不同,DALL-E-3 最大的特点在于能够生成更精确的英文字符。此外,DALL-E-3 还具有以下优点: 1…

根据两个主键查询变更日志 抽屉时间线降序

时间戳例子&#xff1a; <div class"block"><el-timeline><el-timeline-item timestamp"2018/4/12" placement"top"><el-card><h4>更新 Github 模板</h4><p>王小虎 提交于 2018/4/12 20:46</p>…

浅析透明图片显示

1、理解图片构成 上面是一个飞机的透明图片&#xff0c;每个图片都是有一个个像素点构成的&#xff0c;每个像素点都是一个颜色&#xff0c;在内存中占4个字节&#xff0c;由透明度、红、绿、蓝构成。如下图&#xff1a; 该飞机图片飞机图片长51像素&#xff0c;宽63像素。就是…

echarts多个折线图共用X轴,实现tooltip合并和分离

echarts共享X轴案例&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</…

STM32之IIC总线控制ATC24C04

一、存储器介绍 1、电子密码存储概述 单片机的电子密码存储是一种将密码信息以电子形式存储在单片机内部的技术。它通常用于需要保护敏感信息或限制访问权限的应用程序&#xff0c;如安全系统、门禁系统、电子锁等。 电子密码存储可以通过多种方式实现&#xff0c;以下是其中…

黑马程序员-瑞吉外卖-day6

目录 做下面两个功能: 1.写实体类 2. Mapper 3.Service 4.controller 5.将分类管理表的进行分页查询返回给前端 6.套餐分类 7.修改套餐分类 后台系统中可以管理分类信息&#xff0c;分类包括两种类型&#xff0c;分别是 **菜品分类** 和 **套餐分类** 。当我们在后台…

Nginx负载均衡下的webshell连接

一、上传AntSword-Labs-master搭建负载均衡实验环境 搭建好docker环境&#xff0c;并且配置好docker-compose 我的Redhat的docker版本&#xff1a; 查看当前环境下的文件是否正确&#xff1a; 接着执行docker compose up -d 拉取环境 访问成功页面&#xff1a; 进入docker容器…

图形绘制-仪表盘(2)

本章节我们介绍如何如何绘制刻度对应的数字及指针。效果如下&#xff1a; 关于通过继承重写QWidget的绘制事件paintEvent()&#xff0c;来绘制仪表盘的基础操作&#xff0c;请看上一章节《图形绘制-仪表盘&#xff08;1&#xff09;-CSDN博客》介绍。 在paintEvent()中继续写以…

【JAVE SE】---运算符和程序逻辑控制语句

1.运算符 算数运算符 - * / % 注意&#xff1a;1.Java的%符号左右两边可以是小数&#xff0c;也可以是负数 //运算符float a1.0f;float b2.0f;float c-1.5f;System.out.println(a%b); //1.0System.out.println(a%c); //1.0 2.Java中除数不可以为0&#xff0c…

一些著名的软件都用什么语言编写?

1、操作系统 Microsoft Windows &#xff1a;汇编 -> C -> C 备注&#xff1a;曾经在智能手机的操作系统&#xff08;Windows Mobile&#xff09;考虑掺点C#写的程序&#xff0c;比如软键盘&#xff0c;结果因为写出来的程序太慢&#xff0c;实在无法和别的模块合并&…

前端实现弹小球功能

这篇文章将会做弹小球游戏&#xff0c;弹小球游戏大家小时候都玩过&#xff0c;玩家需要在小球到达游戏区域底部时候控制砖块去承接小球&#xff0c;并不断的将小球弹出去。 首先看一下实现的效果。 效果演示 玩家需要通过控制鼠标来实现砖块的移动&#xff0c;保证在小球下落…