您的位置:首页 > 其它

STM32将PB3等IO用作普通IO

2014-02-26 22:36 239 查看
STM32F103 的 JTAG, 默认状态是Full SWJ。

The default state after reset is “000” (whole pins assigned for a full JTAG-DP connection).

PB3作为JDO,被JTAG占用。

在 TRACE Asynchronous mode,PB3还是TRACESWO。

若系统不需要JTAG,将PB3当作GPIO,需要如下设置:

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOB , ENABLE);

  GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);

第一句中的 RCC_APB2Periph_AFIO 设置 AFIOEN(如果没有这一句,后面两句失效)。

如果一个模块的clock DISABLE,那么,寄存器的值也无法读写。

有了上面两句,就可以进一步对PB3进行操作了。

例如:

  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);

  GPIOB->ODR = 0x08;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  stm32