首页 > 其他分享 >GPIO端口的BSRR的使用

GPIO端口的BSRR的使用

时间:2024-03-27 20:30:50浏览次数:24  
标签:16 写入 高电平 端口 BSRR GPIO 管脚 位写

BSRR 只写寄存器

既能控制管脚为高电平,也能控制管脚为低电平。
对寄存器高 16bit 写1 对应管脚为低电平,对寄存器低16bit写1对应管脚为高电平。写 0 ,无动作

首先看GPIOC的定义

接着看这个类型的定义

可以看到BSRR为无符号的32位的整形

接下来看GPIO_Pin_13的定义

可以看到为无符号的16位置的整形。

	GPIOC->BSRR|=	GPIO_Pin_13<<16;   //给高16位写1  对寄存器高 16bit 写1 对应管脚为低电平 写 0 

接下来理解上边的那一行代码

将pin13引脚的值左移16位,此时相当于在高16位写1。高16位写1,为低电平。

GPIOC->BSRR = GPIOC->BSRR| GPIO_Pin_13; //给低16位写1   	对寄存器低16bit写1对应管脚为高电平 写 0 ,无动作

直接将pin13引脚的值写入,此时相当于在低16位写1。低16位写1,为高电平。

最终理解

BSRR的初始值为0x00000000,当使用BSRR给引脚写入低16位(0x2000),此时就会写入0x00002000(将这个值写入IDR),随后BSRR又会变为0x00000000。当使用BSRR给引脚写入高16位(0x20000000),此时就会写入0x20000000(将这个值写入IDR),随后BSRR又会变为0x00000000。

标签:16,写入,高电平,端口,BSRR,GPIO,管脚,位写
From: https://blog.csdn.net/weixin_60433980/article/details/137081236

相关文章

  • Xilinx ZYNQ 7000+Vivado2015.2系列(六)创建一个基于AXI总线的GPIO IP并使用
    前言:FPGA+ARM是ZYNQ的特点,那么PL部分怎么和ARM通信呢,依靠的就是AXI总线。这个实验是创建一个基于AXI总线的GPIOIP,利用PL的资源来扩充GPIO资源。通过这个实验迅速入门开发基于总线的系统。使用的板子是zc702。AXI总线初识:AXI(AdvancedeXtensibleInterface),由ARM公司提出的......
  • 痞子衡嵌入式:给i.MXRT1xxx系列GPIO提早供电会影响DCDC_PSWITCH上电时序导致内部DCDC启
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是给i.MXRT1xxx系列GPIO提早供电会影响DCDC_PSWITCH上电时序导致内部DCDC启动失败。最近有一个RW612产品线的同事在设计一个双MCU系统Demo时发现,当RW612板卡和RT1060板卡通过UART对接时,如果RW6......
  • Xilinx ZYNQ 7000+Vivado2015.2系列(四)之GPIO的三种方式:MIO、EMIO、AXI_GPIO
    前言:ZYNQ7000有三种GPIO:MIO,EMIO,AXI_GPIOMIO是固定管脚的,属于PS,使用时不消耗PL资源;EMIO通过PL扩展,使用时需要分配管脚,使用时消耗PL管脚资源;AXI_GPIO是封装好的IP核,PS通过M_AXI_GPIO接口控制PL部分实现IO,使用时消耗管脚资源和逻辑资源。使用的板子是zc702。1.MIO方式Zynq7000......
  • 为什么连接数据库的端口号与配置文件中的端口号不一致?
    为什么连接数据库的端口号与配置文件中的端口号不一致?背景介绍:在安装openGauss3.0数据库时,发现配置文件中写的端口号是5432,但是数据库连接时,执行gsql--dpostgres-p5432提示错误,无法连接到数据库。报错内容:[omm@hostname]$gsql-dpostgres-p5432failedtoconn......
  • 更改计算机上的远程桌面的侦听端口
     将以下代码中的3390更为您想要修改的端口,最大为655335;将代码在Windowspower中运行。$portvalue=3390Set-ItemProperty-Path'HKLM:\SYSTEM\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp'-name"PortNumber"-Value$portvalueNew-NetFir......
  • 主nginx和子nginx-------域名-端口-解答
    主nginx和子nginx-------域名-端口-解答想象一下Nginx是一个接待员,每个端口就像接待员的一个电话线,而server_name就像是客户拨打的不同号码。当你在Nginx配置文件里设定端口(比如80或81),就相当于告诉接待员:“请守在这一条电话线上接听来电。”如果只有一个电话线(端口),但是你告......
  • module的定义及端口的作用
    模型功能module是verilog中层次划分的基本单元通过module之间的调用,可以实现硬件描述层次的提高端口列表则是module的输入输出,和数字电路的走线连接等效基于module的不断地叠加,verilog可以完成从底层的与或门到复杂数字系统的逐步设计模型框图//moduledefinemoduleA#(......
  • 使用libvirt的端口转发,实现虚拟机跟外界互通
    参考Dynamicport-forwardingforNAT-edkvm/libvirtnetworksForwardingIncomingConnections在/etc/libvirt/hooks添加qemu脚本,模板如下,需要根据自己的配置进行修改:#!/bin/bash#usedsomefromadvancedscripttohavemultipleports:useanequalnumberofguest......
  • redis主从搭建(测试环境单机多端口)
    采用一主两从完成搭建,实现了主节点做写操作,从节点做读操作,并且主从会进行同步。步骤需要注意的有以下几点:replica-announce-ip设置为自己虚拟机的ip地址requirepass设置为无密码,否则主从节点将连接失败如果端口被占用,需要首先找到占用端口号的进程,然后将其杀死......
  • 实验二:通过Console端口对交换机进行配置
    目录实验目的:实验环境配置:实验原理:实验步骤:实验结果:实验分析:结论:实验目的:(1)掌握通过Console端口对交换机进行配置的方法。(2)理解并掌握交换机初始配置。实验环境配置:选择设备(一台PC和一台交换机)——连控制台线(PC0:RS232—交换机0:Console)——通过Console端口对交换机......