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;
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单片机释放PB3/PB4/PA15作为普通IO口
- STM32 JTAG SWD (PB3 PB4用作普通IO)及启动模式
- STM32的PC13、PC14、PC15用作普通IO口设置方法
- STM32引脚JTDO、JNTRST与JTDI作为普通IO口使用配置
- stm32 PB3 PB4 PA15引脚作为普通IO口使用指南
- STM32 中JTAG 引脚作为普通IO口设置方法
- 关于STM32中PA15引脚作为普通io的使用
- 把STM32的JTAG下载引脚:JTDO、JTDI、JTCK 当成普通IO口进行操作
- stm32 PB3 PB4 PA15引脚作为普通IO口使用指南
- stm32 的PA13,PA14, PA15做普通IO口的问题
- STM32 中JTAG 引脚作为普通IO口设置方法
- STM32采用普通的IO口来测量PWM的频率
- STM32 JNTRST JTDI JTDO引脚用做普通IO方法
- STM32 JNTRST JTDI JTDO(PB4 PB3 PA15)引脚用做普通IO方法
- STM32把PC13、PC14、PC15、PB3、PB4、PA15作为普通IO使用
- STM32 PA15作普通IO用时的配置
- stm32的jatg口配置为普通io口使用
- cc2541的SCL和SDA在协议栈中用作普通IO口
- stm32 PB3 PB4 PA15引脚作为普通IO口使用指南
- stm32 JTAG做普通io口(来自www.ourdev.com)