学习目标:

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状态改为高电平


嵌入式自学笔记:电路基础知识相关推荐

  1. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之Pinctrl子系统和GPIO子系统的使用

    文章目录 前言 1.Pinctrl子系统 1.1.为什么有Pinctrl子系统 1.2.重要的概念 1.3.代码中怎么引用pinctrl 2.GPIO子系统 2.1.为什么有GPIO子系统 2.2.在 ...

  2. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之按键驱动框架

    文章目录 前言 1.APP怎么读取按键值 1.1.查询方式 1.2.休眠-唤醒方式 1.3.poll方式 1.3.异步通知方式 1.5. 驱动程序提供能力,不提供策略 2.按键驱动程序框架--查询方式 ...

  3. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之LED模板驱动程序的改造:设备树

    文章目录 前言 1.驱动的三种编写方法 2.怎么使用设备树写驱动程序 2.1.设备树节点要与platform_driver能匹配 2.2.修改platform_driver的源码 3.实验和调试技巧 ...

  4. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之设备树模型

    文章目录 前言 1.设备树的作用 2.设备树的语法 2.1.设备树的逻辑图和dts文件.dtb文件 2.1.1.1Devicetree格式 1DTS文件的格式 node的格式 properties的格 ...

  5. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之总线设备驱动模型

    文章目录 前言 1.驱动编写的三种方法 1.1.传统写法 1.2.总线驱动模型 1.3.设备树驱动模型 2.Linux实现分离:Bus/Dev/Drv模型 2.1.Bus/Dev/Drv模型 2.2. ...

  6. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之驱动设计的思想:面向对象/分层/分离

    文章目录 前言 1.分离设计 驱动程序分析---程序分层 通用驱动程序---面向对象 个性化驱动程序---分离 APP 程序分析 前言 韦东山嵌入式Linux驱动开发基础知识学习笔记 文章中大多内容来 ...

  7. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之LED驱动框架--面向对象、分层设计思想

    文章目录 前言 1.LED驱动程序框架 1.1.对于LED驱动,我们想要什么样的接口? 1.2.LED驱动要怎么写,才能支持多个板子?分层写 1.3.程序分析 驱动程序 应用程序 Makefile 1 ...

  8. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之第一个驱动

    文章目录 前言 1.Hello驱动 1.1.APP打开的文件在内核中如何表示? 1.2.打开字符设备节点时,内核中也有对应的struct file 1.3.如何编写驱动程序? 1.4.驱动程序代码 1 ...

  9. 【嵌入式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 ...

最新文章

  1. Nuget打包类库及引用
  2. SQL基础【九、Update】
  3. 【c++算法刷题笔记】——洛谷1
  4. 开发环境 Minio 添加桶的操作流程-页面操作
  5. 第 5-3 课:线程池——Executors + 面试题
  6. cf1月超级翻盘_CF1月超级翻牌活动地址 2020年CF超级翻盘活动全攻略
  7. leetcode python3 简单题13. Roman to Integer
  8. 若依前后端分离如何写移动端接口_前后端分离架构概述
  9. Java必备技能:IDEA一定要懂的32条快捷键
  10. 2018-3-10 unset 变量 ab测试
  11. BF2 战地风云2常见问题解答
  12. dnf php的补丁放哪,DNF模型文件在哪 补丁玩家必备知识
  13. 用logisim实现串行的全加器
  14. 技术前言 - 芯片制造工序详解
  15. 优质数据平台如何打造?从网易云音乐看内容生态的运营法则
  16. 求一元多项式 P(x) = a0 + a1x + a2x^2 + ... + anx^n 的值P(x0)。
  17. git 使用过程遇到的问题
  18. 聚合支付码是什么意思及它产生的背景
  19. 关于mp4格式转m3u8切片加密的方案调研
  20. Z-Wave技术的五大协议介绍(ZWave中心)

热门文章

  1. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxxx.phb.mappe
  2. AD603的查表程序
  3. 单机100万连接,每秒10万次请求服务端的设计与实现(一) - 前传
  4. 教你认识水货手机翻新手机14天机的鉴别和选购
  5. 思科ASR防火墙实操手册
  6. 申请CA证书的费用大概是多少
  7. 天猫整站Springboot 从零开始搭建(一)
  8. minimap2论文算法详解(主要针对RNA-seq)
  9. python中每个模块都有一个名称、通过特殊变量_【有书共读01】《python学习手册》读书笔记十八...
  10. 服务器电源能支持高压直流吗,通信高压直流电源