当前日期:2022年01月19日 星期三
Hi 你好,欢迎访问!登录
搜索 导航

凯特网-Think and Do it , as Soon as!

当前位置:首页 - 程序设计 - 正文
阅读模式

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

2016-05-12 | 程序设计 | caterwang | 4341°c

    用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

请使用支付宝赞助我

支付宝打赏

请使用微信赞助我

微信打赏

版权声明

欢迎转载,但注明出处,谢谢!

分享:
0
QR:  stm32F10x PB3 GPIO口无法作为普通IO口使用的原因

扫一扫,用手机打开吧

共0条评论

暂时没有评论,你可以来抢个沙发!

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

展开