STM32_GPIO刘凯老师 第十集 笔记

 1)红色框围绕输出电路   蓝色框围绕输出电路

2) 如何实现输出?

通过一个写操作  写到 位置设置/清楚寄存器 ,然后改变输出寄存器, 也可以通过 读/写直接改变输出数据寄存器,以上两种方式改变输出数据寄存器  ,然后下面是一个选择开关,进行两路选着 。是GPIO输出还是复用功能输出,  输出控制是一个锁存器,

假设  如果输入是1 则输出控制就是1 和0    P-mos 导通  ,N-MOS 截止 ,内部 VDD为 3.3v ,输出高电平 。

如果做输入时候 一定要屏蔽掉下面红色框框的的输出电路

如果输入0 输出 反相  是 0 1 ,Pmos 截止   N-MPS 导通  内部Vss 低电平  ,输出为低电平。

两个内部上下拉开关  ,在51 单片机只有一个上拉  在m3 有上下拉   ,这两个开关都可以打开 ,即浮空。

在模拟输入的时候,不希望任何一点变化, 所以设置为浮空输入  ,经过施密特触发器   ,如果是捕获输入  则只用复用功能,

如果是作为IO口输入 ,首先改变的是输入数据寄存器 ,将数据数据寄存器相应的位改变以后 ,然后用户读入数据寄存器,将数据读到芯片内部中去 ,然后知道外部电压的高低。
 

3)通用功能的IO 称为GPIO  复用功能的io称为 AFIO  

2 个 32 位数据寄存器(GPIOx_IDR 输入数据寄存器和 GPIOx_ODR输出数据寄存器)   开关的状态  输入输出 由配置寄存器决定  例如 :GPIOx_MODER、
1 个 32 位置位/复位寄存器 (GPIOx_BSRR)  置位就是1 复位就是0  对应上图的 位设置 /清除寄存器

4)推挽输出 p-mos  n-mos 都正常工作    推挽式复用 输出:   不是由输出数据寄存器决定的 ,而是由复用数据寄存器决定的

输出模式的设置

GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32) 8<<28;

GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32) 8<<28;

GPIO口B的低8个端口控制寄存器CRL的低4个bits清为0,其余bits不变。

 


 

如果有错误希望指正

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值