历史上的今天

今天是:2024年08月26日(星期一)

正在发生

2018年08月26日 | STM32寄存器操作端口模式SDA_OUT()/SDA_IN()

发布者:RadiantBlossom 来源: eefocus关键字:STM32  寄存器  操作端口模式 手机看文章 扫描二维码
随时随地手机看文章

#define SDA_IN()        {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)8<<28;} 

#define SDA_OUT()    {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)3<<28;} 


是不是看到懵了,其实不难,相信用寄存器写过stm8s的就明白了,其实这是利用寄存器配置端口模式,只是32为的寄存器太多!


首先得明白CRL、CRH是2个控制端口模式的寄存器。他们的位数数据为:


CRL(引脚的0-7脚)


CRH(引脚的8-16脚)

 然后一个端口分4位来控制模式,这4为的组合为:




我们来分析一下:

GPIOB->CRL&=0X0FFFFFFF;
GPIOB->CRL|=(u32) 8<<28;
的意思 先都置0, 得0000, 然后1000B, 左移28位, 得1000, 分别是将CRL的31到28bit
位置1000, 查上面的表: 


1000意思就是Input模式, Input pull-up  即输出模式!!!


GPIOB->CRL&=0X0FFFFFFF;
GPIOB->CRL|=(u32)3<<28;
3换成2进制是0011, 结合上面的就是00就是outpu的push-pull, 11表示速度是50MHz 

那么, 如果要修改PB_11的配置, 就修改CRH, 移动3*4次就好,
#define SDA_IN() {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=(u32)8<<12;}
#define SDA_OUT() {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=(u32)3<<12;} 


OK啦!!!


关键字:STM32  寄存器  操作端口模式 引用地址:STM32寄存器操作端口模式SDA_OUT()/SDA_IN()

上一篇:STM32 CRH和CRL记录
下一篇:STM32 GPIO的8种工作模式及相关配置寄存器

推荐阅读

代码是在12M的晶振的晶振下调试出来的,希望可以给大家带来参考价值 #include <reg51.h> //51芯片管脚定义头文件#include <intrins.h> //内部包含延时函数 _nop_();#include<stdio.h>#define uchar unsigned char#define uint unsigned intuchar Flag=0; //定义一个全局的标志位uchar Feng=0;sbit ds= P3^1; //接18B20v...
据外媒报道,硅谷初创公司Recogni宣布,其在A轮融资中筹集了2500万美元(约合1.7亿元人民币),该轮融资由GreatPoint Ventures领投,汽车制造商宝马和丰田的风投部门宝马iVentures与丰田AI风投、汽车技术公司佛吉亚(Faurecia)、汽车照明技术公司欧司朗(Osram)的风投部门Fluxunit以及DNS资本。Recogni公司正在为自动驾驶汽车研发视觉人工智能平台。Rec...
在今年4月27日提交申请之后,vivo 于8月25日获得了国家知识产权局(CNIPA)的外观设计专利。在专利中提供了 8 张产品设计草图,展示了一款尚未发布的全新 vivo 手机。  根据专利插图,这款手机的屏幕边框非常窄,在右上角有个打孔前置摄像头。而且这款前摄的打孔孔径非常小,比如我们看到的 V19 Neo。V19 Neo 配备了 3200 万像素传...
  阻旋料位开关是一种由微型马达驱动的物位控制仪表,广泛用于现代工业生产过程和仓储部门,用于食品、制药、化工、塑料、建筑、肥料等行业各种固体颗粒粉末的测量。根据是否加装保护管划分,阻旋料位开关可分为标准型阻旋料位开关和保护型阻旋料位开关两种。计为Spin-11系列阻旋料位开关设计上采用进口电机、微动开关及轴承,同时注重工艺细节,严控生...

史海拾趣

问答坊 | AI 解惑

谁有MSP430的视频课件呀?

本帖最后由 paulhyde 于 2014-9-15 09:20 编辑 谁有MSP430的视频课件呀? 给小弟共享一下  …

查看全部问答∨

【藏书阁】大学理工系列 光电子学( 滨川)

目录: 第1章 概述 1.1 人类文明与光 1.2 日益进步的光学应用技术 第2章 半导体的光学性质 2.1 半导体和光之间的相互作用 2.2 半导体的光吸收 2.3 用电子能带结构解释光学性质 2.4 半导体发光的原因 2.5 其它光学效应 练习题 第3章 光 ...…

查看全部问答∨

LPCXpresso LPC1343 入门教程

LPCXpresso LPC1343 入门教程   chenzhufly   2010-4-24 目前LPCXpresso已经完全支持LPC1343,而且自带了丰富的例子程序,很容易上手,在这里我主要展示在LPCXpresso 下LPC1343学习和调试的过程,便于新手入门,欢迎老手拍砖。 & ...…

查看全部问答∨

索爱w810刷机软件

怎么用?赐教!!!!!!!!!!…

查看全部问答∨

TKS-396仿真P89LPC901单片机的配置

TKS-396仿真P89LPC901单片机时,总是出现错误。 我换成最小单片机系统时,也出错,接的LED灯不亮。 有谁用TKS-396仿真过P89LPC901单片的,赐教一下,谢谢!…

查看全部问答∨

关于u-boot烧写wince的疑问

大家好,我是一个嵌入式新手,现在有一些疑问。 我现在有一块ARM9的板子,OS是linux的,用u-boot引导的。 现在我想讲起换成wince,不知道可否用u-boot下载? (我问厂家的客服,得到的答案是u-boot不能用在ce上) 或者换成板子厂商提供的他们 ...…

查看全部问答∨

大家用wince做数据库开发用的什么数据库啊?

大家现在做wince开发用的什么数据库啊? 是SQLservermobile还是EDB什么的? 我在wince50做的EDB程序在wince60上能用吗? 如果我想在PC开发一个程序上把WINCE中的数据库数据读取出来使用怎么做好啊? 我是新手,大家多多帮助我,谢谢了。…

查看全部问答∨

C8051F020的UART串口通讯问题?

c8050f020有有UART0和UART1两种工作方式,且C8051F020有两个串口分别是串口0和串口1,根据原理图,串口0是P0.0和P0.1,串口1是P0.2和P0.3,现在我有以下用UART0编的串口通讯程序: //端口初始化 void PORT_Init(void) { XBR0 = 0x04; //允 ...…

查看全部问答∨

单独画个ARM开发板对找工作有多大帮助?

我明年四月份毕业,现在想学习嵌入式,自己画个开发板。但是估计时间到12月份也就是能把板子做出来,没有什么时间调试这个板子,那光用protel做板子对找工作有多大的帮助呢?帮忙给分析下吧 …

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多每日新闻

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved