OpenEdv-开源电子网

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

复位所有IO口帮忙解释一下 为什么这样写?

[复制链接]

72

主题

251

帖子

0

精华

高级会员

Rank: 4

积分
597
金钱
597
注册时间
2012-3-29
在线时间
7 小时
发表于 2013-6-3 16:25:00 | 显示全部楼层 |阅读模式

//系统进入待机模式
void Sys_Enter_Standby(void)
{   
 RCC_APB2PeriphResetCmd(0X01FC,DISABLE); //复位所有IO口
 Sys_Standby();
}


 

/**
  * @brief  Forces or releases High Speed APB (APB2) peripheral reset.
  * @param  RCC_APB2Periph: specifies the APB2 peripheral to reset.
  *   This parameter can be any combination of the following values:
  *     @arg RCC_APB2Periph_AFIO, RCC_APB2Periph_GPIOA, RCC_APB2Periph_GPIOB,
  *          RCC_APB2Periph_GPIOC, RCC_APB2Periph_GPIOD, RCC_APB2Periph_GPIOE,
  *          RCC_APB2Periph_GPIOF, RCC_APB2Periph_GPIOG, RCC_APB2Periph_ADC1,
  *          RCC_APB2Periph_ADC2, RCC_APB2Periph_TIM1, RCC_APB2Periph_SPI1,
  *          RCC_APB2Periph_TIM8, RCC_APB2Periph_USART1, RCC_APB2Periph_ADC3,
  *          RCC_APB2Periph_TIM15, RCC_APB2Periph_TIM16, RCC_APB2Periph_TIM17,
  *          RCC_APB2Periph_TIM9, RCC_APB2Periph_TIM10, RCC_APB2Periph_TIM11 
  * @param  NewState: new state of the specified peripheral reset.
  *   This parameter can be: ENABLE or DISABLE.
  * @retval None
  */
void RCC_APB2PeriphResetCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)
{
  /* Check the parameters */
  assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph));
  assert_param(IS_FUNCTIONAL_STATE(NewState));
  if (NewState != DISABLE)
  {
    RCC->APB2RSTR |= RCC_APB2Periph;
  }
  else
  {
    RCC->APB2RSTR &= ~RCC_APB2Periph;
  }
}

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

使用道具 举报

69

主题

289

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
1296
金钱
1296
注册时间
2013-3-14
在线时间
62 小时
发表于 2013-6-3 17:39:16 | 显示全部楼层
看一下APB2RST寄存器就知道了,GPIOG~GPIOA在APB2RST寄存器的第8~2位,所以为0000000111111100=0x01FC了
回复 支持 2 反对 0

使用道具 举报

15

主题

204

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
287
金钱
287
注册时间
2013-7-17
在线时间
0 小时
发表于 2013-8-4 15:23:48 | 显示全部楼层
回复【2楼】liuyongliuyong:
---------------------------------
谢谢,弄明白这个问题了!
有生之年,只诉温暖不言殇,花味渐浓,茶味渐醇,倾心相遇,安暖相陪。
回复 支持 反对

使用道具 举报

19

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
214
金钱
214
注册时间
2013-12-2
在线时间
0 小时
发表于 2014-8-2 19:57:23 | 显示全部楼层
回复【3楼】wghfbj:
---------------------------------
亲 我没有找到这个APB2RST寄存器在哪里呀
回复 支持 反对

使用道具 举报

15

主题

204

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
287
金钱
287
注册时间
2013-7-17
在线时间
0 小时
发表于 2014-8-5 21:25:00 | 显示全部楼层
回复【4楼】红尘灬醉逍遥:
---------------------------------
在参考手册中搜索。。。。。
有生之年,只诉温暖不言殇,花味渐浓,茶味渐醇,倾心相遇,安暖相陪。
回复 支持 反对

使用道具 举报

19

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
214
金钱
214
注册时间
2013-12-2
在线时间
0 小时
发表于 2014-8-6 08:09:59 | 显示全部楼层
回复【5楼】wghfbj:
---------------------------------
找到了 亲 
嘿嘿 
想问下 老乡 你在哪里工作 从事是stm32方面的开发或者是学生?
我准大四了 也是辽宁人。。感觉在辽宁  嵌入式方面发展好少呀
回复 支持 反对

使用道具 举报

15

主题

204

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
287
金钱
287
注册时间
2013-7-17
在线时间
0 小时
发表于 2014-8-7 00:06:50 | 显示全部楼层
回复【6楼】红尘灬醉逍遥:
---------------------------------
我是学生。。。。准大四。。。。辽宁人。。。。哈哈
有生之年,只诉温暖不言殇,花味渐浓,茶味渐醇,倾心相遇,安暖相陪。
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2016-8-3
在线时间
31 小时
发表于 2016-9-29 15:37:04 | 显示全部楼层
[mw_shl_code=c,true]RCC_APB2PeriphResetCmd(0X01FC,DISABLE); //复位所有IO口
//改成
RCC_APB2PeriphResetCmd(0X01FC,ENABLE); //复位所有IO口[/mw_shl_code]
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2018-7-3
在线时间
28 小时
发表于 2018-8-1 13:48:45 | 显示全部楼层
        RCC_AHB1PeriphResetCmd(0X04FF,ENABLE);这才是复位所有IO口,你搞错了吧
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2018-7-3
在线时间
28 小时
发表于 2018-8-1 13:50:21 | 显示全部楼层
我这个是F407的板子
回复 支持 反对

使用道具 举报

6

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2019-5-24
在线时间
16 小时
发表于 2020-3-29 17:28:40 | 显示全部楼层
佩奇宝宝 发表于 2018-8-1 13:48
RCC_AHB1PeriphResetCmd(0X04FF,ENABLE);这才是复位所有IO口,你搞错了吧

F4的板子应该是0X01FF
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-24 01:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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