当前位置: 首页 > news >正文

东莞电子网站建设宝思哲手表网站

东莞电子网站建设,宝思哲手表网站,建筑工程人才培训网官网,wordpress伪静态化继续上篇博文:STM32学习和实践笔记(4): 分析和理解GPIO_InitTypeDef GPIO_InitStructure (a)-CSDN博客 往下写, 为什么:当GPIO_InitStructure.GPIO_PinGPIO_Pin_0 ; 时,其实就是将对应的该引脚的寄存器地…

继续上篇博文:STM32学习和实践笔记(4): 分析和理解GPIO_InitTypeDef GPIO_InitStructure (a)-CSDN博客

往下写,

为什么:当GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0 ; 时,其实就是将对应的该引脚的寄存器地址给了GPIO_InitStructure.GPIO_Pin,这就表示,选中了GPIO_Pin_0来操作!

其实我还是没有真正搞清楚的。

根据:

#define GPIO_Pin_0                 ((uint16_t)0x0001)  /*!< Pin 0 selected */

那么该语句实际就是:GPIO_InitStructure.GPIO_Pin=((uint16_t)0x0001) ;

为什么把这个数给到这个结构体的成员就是选中了Pin0?

在库函数底层,应该还是封装了一些东西,我没有看到。

在前面不使用库函数而直接操作寄存器的方式,我是理解的。其过程如下:

首先,STM32的全部memory mapping如下图所示:

1个1024为1K,

1024*1024=1M

1024*1024*1024=1G

一共有2的32次方个地址。2的32次方=4,294,967,296,它连续除3次1024就正好=4,也就是有4GB的地址。4*1024=4096 M,把这4GB空间分成8块,也就是每块是512M。

这4GB地址,把所有的存储器和控制寄存器全部包括了进去。

所以,如果想操作某一个寄存器来控制某个引脚或者别的功能,先一步就是找到该寄存器的地址,然后就操作这个地址内的数据,这个地址内的数据变化了,相应的功能也就实现了。

比如,如果我需要选中GPIOC的第一个引脚并对其输入输出模式进行配置,那么,我需要做的就是找到控制GPIOC的第一个引脚寄存器的地址,然后对这个地址内的数值进行修改,也就达到了目的。

选中GPIO某个引脚并对其输入输出模式进行配置的寄存器是这两个:

这里的偏移地址,是指在选中相应的端口的基地址之后,再偏移多少,才能选中这个寄存器。

各端品的基地址可以从这里看到:

以操作GPIOC的引脚为例,地址偏移是这样设定的:

以上还是很容易理解。

http://www.yayakq.cn/news/626074/

相关文章:

  • 一个内部网站如何做外网映射怎样把网站打包做百度小程序
  • 网站源码com大全电商首页设计思路
  • 阿里巴巴网站建设与维护哈尔滨网站建设方案策划
  • 外贸建站服务朝阳网络公司怎么样
  • 企业网站建设需要哪些设备公司网络营销外包
  • 网站开发工程师职责四川省建设厅
  • 添加qq好友的超链接做网站创办个人网站
  • 手机微网站 模板北京网站开发要多少钱
  • m导航网站如何做淘宝客云程环境建设集团网站
  • 做学校和企业对接的网站电子商务网站开发技术路线
  • wordpress多网站建设广东省建设行业统一身份认证平台
  • 帮公司做网站的外包公司九牛科技网站开发微信营销
  • 做ppt找图片在哪个网站好接推广是什么意思
  • jsp做网站怎么打开甘肃省城乡与住房建设厅网站
  • 爱聊网站郑州直播app开发
  • 成都网站优化教程docker wordpress安装
  • 淄博高端网站建设公司flash 做ppt的模板下载网站
  • 如何建网站赚钱php如何做音乐网站
  • 网站建设糹金手指花总wordpress主题用什么设计
  • 深圳市国外网站建设服务机构php网站开发 实战教程
  • 那种导航网站软装设计公司网站
  • 帝国建设网站建设银行网站扫码支付在哪里
  • 做投标的网站网页微信版官方下载
  • 如何做网站产品经理网站建设文化事业建设费
  • 淘宝做店招的网站网站建设与营销服务
  • 烟台网站排名优化梧州做网站建设
  • 通信工程企业网站建设深圳网站建设骏域网站建设
  • 公司英文网站建设WordPress 百度分享代码
  • 怎么给网站做自适应网站设置请求桌面网站
  • 网站设计基本步骤wordpress收费主题激活