OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4195|回复: 6

GPIO的问题

[复制链接]

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2013-6-5
在线时间
0 小时
发表于 2013-6-6 11:01:44 | 显示全部楼层 |阅读模式
固件库中stm32f10x_gpio.c里有个这个函数
void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, u16 GPIO_Pin)
{
   u32 tmp = 0x00010000;
  
   /* Check the parameters */
   assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
   assert_param(IS_GPIO_PIN(GPIO_Pin));
  
   tmp |= GPIO_Pin;
   /* Set LCKK bit */
   GPIOx->LCKR = tmp;
   /* Reset LCKK bit */
   GPIOx->LCKR =  GPIO_Pin;
   /* Set LCKK bit */
   GPIOx->LCKR = tmp;
   /* Read LCKK bit*/
   tmp = GPIOx->LCKR;
   /* Read LCKK bit*/
   tmp = GPIOx->LCKR;
}
我不明白为什么要  在两个GPIOx->LCKR = tmp;之间加一个   GPIOx->LCKR =  GPIO_Pin;
另外 最后两行给tmp赋值有意义吗?

 /* Read LCKK bit*/
   tmp = GPIOx->LCKR;
   /* Read LCKK bit*/
   tmp = GPIOx->LCKR;


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-6 11:21:21 | 显示全部楼层


看寄存器描述,你就明白了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1865
金钱
1865
注册时间
2011-3-29
在线时间
140 小时
发表于 2013-6-6 11:26:08 | 显示全部楼层
主要是硬件对LCKR的读写时序有特定要求。看参考手册里对LCKR的实用说明。
业余程序玩家。
回复 支持 反对

使用道具 举报

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2013-6-5
在线时间
0 小时
 楼主| 发表于 2013-6-6 11:53:25 | 显示全部楼层
回复【2楼】正点原子:


看寄存器描述,你就明白了.

---------------------------------
嗯,通过寄存器描述,我明白了前4步就是对LCKK 写1-》写0-》写1-》读0
为什么最后一步是读1,为什么经过前4步后LCKK会变成1?
这个好像没说
回复 支持 反对

使用道具 举报

9

主题

92

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2013-3-22
在线时间
0 小时
发表于 2013-6-7 00:21:07 | 显示全部楼层
回复【楼主位】leslie2046:
---------------------------------
LOCK寄存器,要写一个序列进去才可以修改
回复 支持 反对

使用道具 举报

16

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2014-3-21
在线时间
0 小时
发表于 2014-5-9 21:25:32 | 显示全部楼层
读0,读1的代码怎么写啊?
temp=GPI0一〉LCKR
貌似都是读1啊
可能我对这种写序列的机制不懂吧
能否指点一二?
回复 支持 反对

使用道具 举报

8

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
109
金钱
109
注册时间
2012-7-20
在线时间
9 小时
发表于 2015-4-7 13:50:37 | 显示全部楼层
LCKR寄存器是不是如下理解:

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-24 06:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表