PB3 PB4 如何设置成GPIO

[复制链接]
6148|10
 楼主| armtft 发表于 2008-8-1 12:05 | 显示全部楼层 |阅读模式

前一个项目,很庆幸没有使用 PB3  PB4 .


可是,现在的项目,用到了!

尝试了几种设置,都无法改变 PB3  PB4 状态。
$$$$$$ 期望设置成输出,高低变化。 $$$$$$

而结果:
PB3始终 为 低, PB4 由于有外部电路,始终处于1.6v =========代码如下:

void main(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;
  AFIO->MAPR = 0x04000002;
  DBGMCU->CR = 0x40;

GPIOB->ODR = 0x08;
...
}



  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOB, &GPIO_InitStructure);
香水城 发表于 2008-8-1 12:20 | 显示全部楼层

GPIO_PinRemapConfig()

要使用GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); 或GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); 
 楼主| armtft 发表于 2008-8-1 14:17 | 显示全部楼层

仍旧是老样子,不受控

代码:

void main(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;

  AFIO->MAPR = 0x04000002;
  DBGMCU->CR = 0x40;

  GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
  GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);
  while (1) {
    st_delay_ms(1000);   // about 0.9second

    GPIOB->ODR = 0x50;   // B6  OK  ONE!!
    st_delay_ms(1000);

    GPIOB->ODR = 0x08;   // B6  OK  ZERO

}


  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOB, &GPIO_InitStructure);
 楼主| armtft 发表于 2008-8-1 14:26 | 显示全部楼层

硬件电路,经飞线测试,没问题


PB3 所控制的电路=====将PA某pin短路过来,PA可以很好的控制,可以正常工作!!

PB4也经过同样测试。




 楼主| armtft 发表于 2008-8-1 14:31 | 显示全部楼层

DISABLE 也不可以

  GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,DISABLE);
  GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,DISABLE);
香水城 发表于 2008-8-1 14:53 | 显示全部楼层

使能AFIO时钟了吗?

 楼主| armtft 发表于 2008-8-1 15:10 | 显示全部楼层

OK啦 稍等,写个总结

..
nongfuxu 发表于 2008-8-23 15:27 | 显示全部楼层

STM32中莫名其妙事情很多!

香水城 发表于 2008-8-23 15:37 | 显示全部楼层

STM32中新鲜的事情很多,如果按照老的概念就会感觉莫名其妙

关键的问题是能不能够以一种学习新东西的态度看待它。
文峰聊书斋 发表于 2013-11-12 12:00 | 显示全部楼层
就是这问题。搞了我查了几天。气气气。
pattywu 发表于 2013-11-12 12:09 | 显示全部楼层
   PCB3、PB4,对应的是JTAG的引脚。
   开机时,就是JRAG引脚。如果想使用,必须禁用掉相应的JTAG功能。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

48

主题

354

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部