首页 > 其他分享 >关于CRH、CRL、ODR和IDR寄存器的使用总结

关于CRH、CRL、ODR和IDR寄存器的使用总结

时间:2023-07-21 09:00:51浏览次数:99  
标签:ODR IDR GPIOA 输入 CRH CRL

关于CRH、CRL、ODR和IDR寄存器的使用总结

一.CRH和CRL的使用:

CRH和CRL的使用基本相同,CRH用于控制GPIOX(X表示A---G)的高8位(Pin15---Pin8),而CRL用于控制GPIOX(X表示A---G)的低8位(Pin7----Pin0)。

二.ODR的使用:

RCC->APB2ENR|=1<<2; //使能PORTA时钟

     GPIOA->CRH&=0XFFFFFFF0;//清除该位原来的设置 

     GPIOA->CRH|=0X00000003;//PA8 推挽输出     

         GPIOA->ODR|=1<<8;      //PA8 输出高

由以上代码看出,PA8设置成了推挽输出。大家都知道一个端口可以输出高电平,也可以输出低电平,而GPIOA->ODR|=1<<8; 这个表达式就把PA8设置成了在空闲的时候输出高电平;GPIOA->ODR|=0<<8; 这个表达式,把PA8设置成了在空闲的时候输出低电平。

如果想设置PA8为推挽输出,并且希望输出为低电平,可以不要这个表达式GPIOA->ODR|=0<<8; ,因为系统会默认端口输出为低电平 。

  1.       RCC->APB2ENR|=1<<2;     //使能PORTA时钟
    
      GPIOA->CRH&=0XFF0FFFFF;   
    
      GPIOA->CRH|=0X00800000; //PA13设置成上拉/下拉输入          GPIOA->ODR|=1<<13;    //PA13上拉
    

由以上代码看出,PA13设置成了上拉输入,即输入高电平。大家都知道,一个端口设置成了输入模式,那么它可以输入高电平,也可以输入低电平。GPIOA->ODR|=1<<13; 这个表达式把PA13设置成了上拉模式,即在空闲的时候输入高电平;GPIOA->ODR|=0<<13;这个表达式把PA13设置成了下拉模式,即在空闲的时候输入低电平。

如果想设置PA13为输入模式,并且希望输入低电平,可以不要这个表达式GPIOA->ODR|=0<<13; ,因为系统会默认端口输入为低电平。

三.IDR的使用:

IDR是一个端口输入数据寄存器,只用了低16位。该寄存器为只读寄存器,并且只能以16位的形式读出。读出的值为对应IO口的状态。

注:IDR的使用我只知道这么多,具体的使用,我还没有实际操作过,我也很想知道IDR具体的使用,希望我在这里抛砖,能引来各位高手的玉!

标签:ODR,IDR,GPIOA,输入,CRH,CRL
From: https://www.cnblogs.com/SymPny/p/17570280.html

相关文章

  • ghidra UI缩放
    ResizeGhidraforHighDPIscreensIfyourunGhidraonahighDPIscreen,youwillprobablyfindtheGUItobescaleddownsosmalltobealmostofnouse.ThereisasettingthatyoucanadjusttoscaletheGhidraGUI:in$GHIDRA_ROOT/supportisafile......
  • 15MnNiDR力学性能、15MnNiDR执行标准、15MnNiDR容器板
    一、15MnNiDR钢板简介:15MnNiDR是属于低温压力容器钢板,钢板由氧气转炉或电炉冶炼,并采用炉外精炼工艺,连铸怌、钢锭成材的压缩比不小于3,电渣重熔坯压缩比不小于2。执行标准:GB3531。二、15MnNiDR钢板化学成分:CSiMnPSNiCrMoCuVAls≤0.180.15~0.51.2~1.6≤0.025≤0.0150.2~0.6≤0.25≤0.......
  • OpenOCD : Error: Error connecting DP: cannot read IDR
    没有连接单片机或是连接单片机没有开机。Warn:Failedtoopendevice:LIBUSB_ERROR_NOT_SUPPORTED:这个警告表示OpenOCD无法打开设备,因为设备不受支持。这通常是由于使用的调试适配器与OpenOCD或计算机的驱动程序不兼容所致。您可以尝试以下方法解决该问题:确保您使用的调试......
  • DELL EMC 服务器使用IDRAC虚拟介质远程安装系统
    DELLEMC服务器使用IDRAC虚拟介质远程安装系统今天用R740服务器一台,使用外接管理口IDRAC虚拟介质远程安装系统。1,服务器连接电源开机,外接管理口接入网络。默认管理地址为192.168.0.120,默认帐号密码root,calvin,进IDRAC设置新密码,设置新IP。2,从http://新IP,进入IDRAC管理。3,检查......
  • MongoDriver 分表分页查询
    摘要:业务需求,分表也要兼容旧表。技术有限,封装思路及代码如下,大佬们见笑。首先Mongdb的Collection及其内容字段都是可以动态创建的,所以这里需要的一个关键点是,分表时用什么字段。本文将使用数据的创建时间作为依据,按月分表(如果需要其它字段分表,也可以参考这个思路)首先本文使......
  • UVa 11507 Bender B. Rodríguez Problem (模拟&异或)
    11507-BenderB.RodríguezProblemTimelimit:4.000secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=2502Benderisarobotbuiltby Mom'sFriendlyRobotCompany atits......
  • DELL IDRAC故障日志导出方法
    DELLIDRAC故障日志导出方法概览→服务器→故障排查,点选SupportAssist  点编辑集合数据,把能勾上的都点了,然后点应用  然后点导出SupportAssist集合  此时将显示进度  收集完后,点确定  指定保存SupportAssist收集的位置。并发给DELL......
  • 图像和流媒体 -- I 帧,B帧,P帧,IDR帧的区别
    参看:什么是I帧,P帧,B帧参看:H264编码原理以及I帧B帧P帧一、H246简介  H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变......
  • LIDC-IDRI肺结节项目 -- 预处理数据集
    实战参考代码:代码一、路径、参数配置(lung.conf)lidc_dicom_path:LIDC_IDRI数据集原始位置 image_path,mask_path:保存处理后的含有结节的肺部图像和掩码图像路径clean_path_image,clean_path_mask:保存处理后的不含有结节的肺部图像和掩码图像路径meta_path:保存结节元......
  • ghidra---导出数据到文件
    ghidra---导出数据到文件Ghidra里,没有比较方便的方法直接导出数据到文件,可以执行python脚本实现。写了一个Ghidra用的脚本:https://github.com/qux-bbb/ghidra-scripts/......