#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 CRH和CRL记录
下一篇:STM32 GPIO的8种工作模式及相关配置寄存器
推荐阅读
史海拾趣
在稳固国内市场的同时,柯爱亚积极寻求海外市场的发展机会。公司不仅参加了多个国际电子展览会,还与国际知名企业建立了合作关系。此外,柯爱亚还通过投资、并购等方式,不断拓展业务范围,实现了多元化发展。这些举措使柯爱亚在国际市场上的影响力逐渐增强。
Eurofarad,作为Exxelia Technologies旗下的知名品牌,自1965年成立以来,就专注于电子元件的设计和制造。在创立初期,Eurofarad凭借对电子技术的深入研究和对市场需求的敏锐洞察,迅速推出了多款高性能、高质量的电子元件产品。这些产品在市场上获得了广泛的认可,为Eurofarad的后续发展奠定了坚实的基础。
电子行业是一个充满竞争和变化的领域,企业需要不断创新才能应对市场的挑战。假设ATC在面对激烈的市场竞争时,始终保持对创新的追求和投入。公司不仅注重产品技术的创新,还积极探索新的商业模式和市场策略。通过不断创新,ATC成功应对了市场的各种挑战,保持了稳健的发展态势。
企业的发展离不开人才的培养和团队的建设。假设ATC高度重视人才培养和团队建设,投入大量资源进行员工培训和团队建设活动。公司不仅注重员工的技能提升和职业发展,还积极营造一种积极向上的企业文化氛围。通过这些努力,ATC培养了一支高素质、富有创新精神的团队,为公司的发展提供了有力的人才保障。
请注意,以上故事均是基于假设和一般性的行业趋势构建的,并不代表ATC公司的实际发展历程。如果您需要了解关于ATC公司的具体信息和发展故事,建议查阅相关的官方资料、行业报告或新闻报道。
随着全球经济的日益一体化,国际合作成为许多公司拓展市场的重要途径。假设ATC在某次国际技术交流会上与一家欧洲知名电子企业达成了合作协议,双方共同开发了一款新型陶瓷电容器。这款电容器不仅性能卓越,而且成本相对较低,因此在全球市场上受到了广泛的欢迎。通过这次合作,ATC不仅提升了自身的技术实力,也进一步拓展了海外市场。
面对日益激烈的市场竞争和不断变化的市场需求,美高测始终保持着对技术创新的执着追求。公司不断投入研发资源,探索新的测试技术和应用场景,如微电网、新能源汽车等领域的高压半导体测试。同时,美高测还积极构建开放式的创新生态体系,与众多合作伙伴共同推动行业的进步和发展。通过这些努力,美高测在高压半导体测试领域持续保持着领先地位,为电子行业的未来发展贡献着重要力量。
目录: 第1章 概述 1.1 人类文明与光 1.2 日益进步的光学应用技术 第2章 半导体的光学性质 2.1 半导体和光之间的相互作用 2.2 半导体的光吸收 2.3 用电子能带结构解释光学性质 2.4 半导体发光的原因 2.5 其它光学效应 练习题 第3章 光 ...… 查看全部问答∨ |
|
LPCXpresso LPC1343 入门教程 chenzhufly 2010-4-24 目前LPCXpresso已经完全支持LPC1343,而且自带了丰富的例子程序,很容易上手,在这里我主要展示在LPCXpresso 下LPC1343学习和调试的过程,便于新手入门,欢迎老手拍砖。 & ...… 查看全部问答∨ |
|
TKS-396仿真P89LPC901单片机时,总是出现错误。 我换成最小单片机系统时,也出错,接的LED灯不亮。 有谁用TKS-396仿真过P89LPC901单片的,赐教一下,谢谢!… 查看全部问答∨ |
|
大家好,我是一个嵌入式新手,现在有一些疑问。 我现在有一块ARM9的板子,OS是linux的,用u-boot引导的。 现在我想讲起换成wince,不知道可否用u-boot下载? (我问厂家的客服,得到的答案是u-boot不能用在ce上) 或者换成板子厂商提供的他们 ...… 查看全部问答∨ |
大家现在做wince开发用的什么数据库啊? 是SQLservermobile还是EDB什么的? 我在wince50做的EDB程序在wince60上能用吗? 如果我想在PC开发一个程序上把WINCE中的数据库数据读取出来使用怎么做好啊? 我是新手,大家多多帮助我,谢谢了。… 查看全部问答∨ |
c8050f020有有UART0和UART1两种工作方式,且C8051F020有两个串口分别是串口0和串口1,根据原理图,串口0是P0.0和P0.1,串口1是P0.2和P0.3,现在我有以下用UART0编的串口通讯程序: //端口初始化 void PORT_Init(void) { XBR0 = 0x04; //允 ...… 查看全部问答∨ |
我明年四月份毕业,现在想学习嵌入式,自己画个开发板。但是估计时间到12月份也就是能把板子做出来,没有什么时间调试这个板子,那光用protel做板子对找工作有多大的帮助呢?帮忙给分析下吧 … 查看全部问答∨ |