嵌入式自学笔记:电路基础知识
学习目标:
2022年掌握嵌入式开发技能入门吧。做一个学习过程记录
学习内容:
1、电路基础知识,搭配样桃补习班视频学习
单片机TTL电平输出:I/O端口输出或输入高低电平
输出方案:
I/O端口输出3.3V电压:1/高电平/H
I/O端口输出0V电压:0/低电平/L
输入方案:
高电平:
I/O兼容5.5V的话,I/O输入电源电压不可以超过5.5V
不兼容的话,必须在2~3.6V
低电平:-0.5V~0.8V
几乎所有单片机周边芯片都是TTL电平!
同一张电路图中完全相同的标号表示相连!
Gpio端口(I/O):当芯片连接电路连接到GND时,说明
推挽输出时GPIO口可以输出一个较大的驱动电流能力,能够驱动类似蜂鸣器LED等低功率的电流较小的电元件,给予他们一定的电流,向外推出一定的电流的方案。电阻控制LED灯亮度,电阻越小,LED越亮
灌电流输入驱动:
由于GPIO可以吸收的电流更大,所以LED可以更亮,此时就明白GPIO输出高电平时,LED两端没有了电压差,LED熄灭。
就是说,当LED两端出现电压差时,LED灯亮。LED两端不存在电压差时,LED灯灭。
一般来说会选择灌电流驱动,因为能够吸收更大的电流,LED可以更亮。
具体情况,具体分析实现。
只要不是电源正负极都可以被上拉或者下拉
上拉或者下拉,实际上是业内人士在画图时习惯性将VCC画在I/O端口之上,将GND画在I/O端口之下
当没有上拉或者下拉电阻时,STM32与其他芯片通过I/O端口连接线处在游离状态,电平不稳定,此时,其他芯片就无法判断高低电平,无法给出具体的实现结果,导致结果出错
上拉电阻:连接到电源正极的电阻,由于给出的上拉电阻阻值很大,一般要在4.7KΩ,所以当32芯片的I/O口不输出高低电平,或者处在高阻状态只输入时,其他芯片通过上拉电阻保持一个微弱的高电平状态(1),即其他芯片的平时状态实际上就是一个高电平状态
若I/O端口输出低电平,由于上拉电阻阻值很大,所以并不影响其他芯片改变状态(低电平),若I/O端口输出高电平,其他芯片改变状态(高电平)
STM32内部上拉电阻:复位键按下时,这一端口就输入一个低电平电压,完成复位;当复位键按下时,芯片内部通过上拉电阻使端口一直保持一个微弱的高电平状态。(微弱就是说电压达到I/O口高电平要求,但电流极小)
下拉电阻:连接到电源负极的电阻
如下图,唤醒键按下时VCC连接PA0端口使得端口保持高电平状态;唤醒键抬起时,两端形成断路,PA0端口呈悬空状态,通过增加一个阻值很大的下拉电阻时,使得PA0端口始终保持在一个微弱的低电平状态,且不影响唤醒键按下时PA0状态改为高电平
嵌入式自学笔记:电路基础知识相关推荐
- 【嵌入式Linux】嵌入式Linux驱动开发基础知识之Pinctrl子系统和GPIO子系统的使用
文章目录 前言 1.Pinctrl子系统 1.1.为什么有Pinctrl子系统 1.2.重要的概念 1.3.代码中怎么引用pinctrl 2.GPIO子系统 2.1.为什么有GPIO子系统 2.2.在 ...
- 【嵌入式Linux】嵌入式Linux驱动开发基础知识之按键驱动框架
文章目录 前言 1.APP怎么读取按键值 1.1.查询方式 1.2.休眠-唤醒方式 1.3.poll方式 1.3.异步通知方式 1.5. 驱动程序提供能力,不提供策略 2.按键驱动程序框架--查询方式 ...
- 【嵌入式Linux】嵌入式Linux驱动开发基础知识之LED模板驱动程序的改造:设备树
文章目录 前言 1.驱动的三种编写方法 2.怎么使用设备树写驱动程序 2.1.设备树节点要与platform_driver能匹配 2.2.修改platform_driver的源码 3.实验和调试技巧 ...
- 【嵌入式Linux】嵌入式Linux驱动开发基础知识之设备树模型
文章目录 前言 1.设备树的作用 2.设备树的语法 2.1.设备树的逻辑图和dts文件.dtb文件 2.1.1.1Devicetree格式 1DTS文件的格式 node的格式 properties的格 ...
- 【嵌入式Linux】嵌入式Linux驱动开发基础知识之总线设备驱动模型
文章目录 前言 1.驱动编写的三种方法 1.1.传统写法 1.2.总线驱动模型 1.3.设备树驱动模型 2.Linux实现分离:Bus/Dev/Drv模型 2.1.Bus/Dev/Drv模型 2.2. ...
- 【嵌入式Linux】嵌入式Linux驱动开发基础知识之驱动设计的思想:面向对象/分层/分离
文章目录 前言 1.分离设计 驱动程序分析---程序分层 通用驱动程序---面向对象 个性化驱动程序---分离 APP 程序分析 前言 韦东山嵌入式Linux驱动开发基础知识学习笔记 文章中大多内容来 ...
- 【嵌入式Linux】嵌入式Linux驱动开发基础知识之LED驱动框架--面向对象、分层设计思想
文章目录 前言 1.LED驱动程序框架 1.1.对于LED驱动,我们想要什么样的接口? 1.2.LED驱动要怎么写,才能支持多个板子?分层写 1.3.程序分析 驱动程序 应用程序 Makefile 1 ...
- 【嵌入式Linux】嵌入式Linux驱动开发基础知识之第一个驱动
文章目录 前言 1.Hello驱动 1.1.APP打开的文件在内核中如何表示? 1.2.打开字符设备节点时,内核中也有对应的struct file 1.3.如何编写驱动程序? 1.4.驱动程序代码 1 ...
- 【嵌入式Linux】嵌入式Linux应用开发基础知识之I2C应用编程和SMBus协议及AP3216C应用编程
文章目录 前言 1.IIC协议和SMBUS协议 1.1.IIC协议 1.1.1.硬件框架 1.1.2.软件框架 1.1.3.读写数据格式 1.1.4.硬件结构--在硬件上是如何实现双向传输 1.2.S ...
最新文章
- Nuget打包类库及引用
- SQL基础【九、Update】
- 【c++算法刷题笔记】——洛谷1
- 开发环境 Minio 添加桶的操作流程-页面操作
- 第 5-3 课:线程池——Executors + 面试题
- cf1月超级翻盘_CF1月超级翻牌活动地址 2020年CF超级翻盘活动全攻略
- leetcode python3 简单题13. Roman to Integer
- 若依前后端分离如何写移动端接口_前后端分离架构概述
- Java必备技能:IDEA一定要懂的32条快捷键
- 2018-3-10 unset 变量 ab测试
- BF2 战地风云2常见问题解答
- dnf php的补丁放哪,DNF模型文件在哪 补丁玩家必备知识
- 用logisim实现串行的全加器
- 技术前言 - 芯片制造工序详解
- 优质数据平台如何打造?从网易云音乐看内容生态的运营法则
- 求一元多项式 P(x) = a0 + a1x + a2x^2 + ... + anx^n 的值P(x0)。
- git 使用过程遇到的问题
- 聚合支付码是什么意思及它产生的背景
- 关于mp4格式转m3u8切片加密的方案调研
- Z-Wave技术的五大协议介绍(ZWave中心)
热门文章
- org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxxx.phb.mappe
- AD603的查表程序
- 单机100万连接,每秒10万次请求服务端的设计与实现(一) - 前传
- 教你认识水货手机翻新手机14天机的鉴别和选购
- 思科ASR防火墙实操手册
- 申请CA证书的费用大概是多少
- 天猫整站Springboot 从零开始搭建(一)
- minimap2论文算法详解(主要针对RNA-seq)
- python中每个模块都有一个名称、通过特殊变量_【有书共读01】《python学习手册》读书笔记十八...
- 服务器电源能支持高压直流吗,通信高压直流电源