首页程序设计STM32程序stm32F10x PB3 GPIO口无法作为普通IO口使用的原因

stm32F10x PB3 GPIO口无法作为普通IO口使用的原因

时间2016-05-12 18:13:27发布caterwang分类STM32程序浏览6562

    用stm32没多久,PB3当作GPIO口采集信号量,结果老读不到信息,读到的都是0,各种测试,无果,草草下了个结论:片子有问题。结果,新板子焊好后再测,结果还是一样,这下坐不住了,查各种手册,网上查,这才弄明摆是怎么回事。

    以下内容引自网络:

    STM32F103 的 JTAG, 默认状态是Full SWJ。

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

    PB3作为JDO,被JTAG占用。

    

    我们可以使用以下语句来实现部分或是全部屏蔽JTAG功能:

    // 改变指定管脚的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁用(JTAG+SW-DP)

    GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);

    // 改变指定管脚的映射 GPIO_Remap_SWJ_JTAGDisable ,JTAG-DP 禁用 + SW-DP 使能

    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);

    

以下为屏蔽PB3,PB4的JTAG功能为例的代码:

	/*开启GPIOB的外设时钟*/
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO| RCC_APB2Periph_GPIOB, ENABLE);
	//GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);		//屏蔽所有作为JTAG口的GPIO口
	GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);		//屏蔽PB口上IO口JTAG功能

以上代码,我们就可以按操作其他普通GPIO口一样操作了。

下载STM32中文参考手册_V10.pdf

blob.png

blob.png

凯特网版权声明:以上内容允许转载,但请注明出处,谢谢!

展开全文READ MORE
stm32PB3PB4PGIOJTAGSWD
stm32F10X系列单片机IO口的总电流是多少? stm32f10x系列单片机IO管脚能输出上MHZ频率的方波吗?

游客 回复需填写必要信息