历史上的今天
今天是:2024年09月04日(星期三)
2019年09月04日 | STM32F103程序设计-5-控制引脚高低电平的实现
2019-09-04 来源:eefocus
控制引脚高低电平的实现
开发板上可以通过控制引脚高低电平的实现功能的模块:蜂鸣器、LED灯。
一.GPIO操作步骤:
1.GPIO对应时钟打开
2.设置GPIO的引脚、速度、输出模式等参数
3.引脚输出0或1
给PB5置1的方法的方法有两种:
GPIOB -> BSRR = 0x0020;
GPIOB -> BSRR |= ( 1<<5);(优点,只修改某一位)
给PB5清0的方法的方法有两种:
GPIOB -> BSRR = 0x0000;
GPIOB -> BSRR &= ~( 1<<5); (优点,只修改某一位)
二.熟悉相关寄存器及寄存器版实现输出电平的控制:
1.GPIOB在APB2上,使用的是APB2上的时钟,RCC模块有多个寄存器,刚刚用到的是RCC_APB2ENR寄存器。
RCC->APB2ENR |= (1<<3);
要注意RCC后面的APB2ENR在哪里定义的,要能找到。
2.端口配置低寄存器GPIOB_CTL,端口配置高寄存器GPIOB_CTH
要把20-23位变为1100,可以先让4位都为0,然后让20-21变为11。
GPIOB->CRL &= ~((1<<20) | (1<<21) | (1<<22) |(1<<23));
GPIOB->CRL |= (1<<20) | (1<<21);
3.控制PB5为高
GPIOB -> BSRR |= ( 1<<5);
寄存器版编程用于标准库函数解决不了特定问题时来使用的。
史海拾趣
|
Altium.Summer.08(AD7.x)已可以下载使用 最新版是AD7.1,重新编辑一下下载地址是:http://www.verycd.com/search/folders/Altium+Designer+Summer+08+/ KEY1,2,3包是解密文件。 [ 本帖最后由 青叶漂零 于 2008-12-14 17:07 编辑 ]… 查看全部问答> |
|
基于赛灵思Spartan-3A延伸系列的最新参考设计 (中文网上研讨会) 各位网友: 基于赛灵思Spartan-3A延伸系列的最新参考设计 (中文网上研讨会) 将于2008年11月26日,北京时间10:00AM--11点30AM如期举行。注册请点击>> &nbs ...… 查看全部问答> |
|
个人认为很不错的一本书。不想看电子档的话可以去购书中心买一本。 [ 本帖最后由 dianzhiyu 于 2009-8-15 02:53 编辑 ]… 查看全部问答> |
|
以下内容是jxb01033016在一个回帖中的,我感觉非常实在,在那堆回复中很容易被湮没,因此专门发一个帖子。 其实做技术,本来就需要多磨,尤其是嵌入式,什么培训机构,什么速成秘诀,什么武林秘籍,都是他吗的扯淡。 嵌入式能四个月就可以学好? ...… 查看全部问答> |
|
linux下如何用ISE调用modelsim synplify等工具 linux下如何用ISE调用modelsim synplify等工具因为linux下modelsim synplify是通过终端来启用,因为要有环境变量来指向license,但是ISE调用是,不通过终端的,这样启动的modelsim synplify没有环境变量指向licen ...… 查看全部问答> |
|
我还有大量的fpga,arm,dsp资料,其中,fpga资料包括各种培训教程35G,已经pdf资料8G; arm有25G视屏教程,还有很多pdf项目资料; DSP有一共15G左右资料。 其他单片机资料很多,包括AVR,51,飞思卡尔单片机,430; 还有很多毕业设计资料。 欢 ...… 查看全部问答> |




