电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

STM32引脚使用选择注意

STM32引脚使用选择注意_第1页
1/6
STM32引脚使用选择注意_第2页
2/6
STM32引脚使用选择注意_第3页
3/6
stm32 有些管脚它上电默认的功能不是通用 GPIO,比如 JTAG 与SWJ 调试管脚,所以,如果你想使用这几个管脚作为通用 IO 的话,就必须将 JTAG 与 SWJ 功能关闭,以及开启 AFIO 时钟。(AFIO时钟未设置,GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE)这句不会生效,也就是要先设置时钟,才能配置相应端口,后变换了下顺序,先设RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);再调用GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE)就完美可以了)最近博主用 STM32F103C8T6 做了一个温度测控模块,用到 PB3,PB4,PA15 等引脚控制外设。发现不管怎么配置,这三个引脚都不能置零。后来发现是包括这三个引脚在内的 PB3,PB4,PA13,PA14,PA15 是特殊的 IO 口,用作 JTAG/SWD 仿真器的调试接口(不能直接使用)。其中 PA13,PA14 分别作为 SWD 调试的 SWIO和 SWCLK;PB3,PB4,PA13,PA14,PA15 共同用于 JTAG。这五个引脚的中英文描述如下图所示,图片来源于 STM32F1 参考手册:这五个 IO 引脚非常特殊,正常情况下作为 SWJ 仿真器的调试引脚,如果要作为普通 IO 口使用需要特别的配置。以 PA13 引脚为例,该引脚在 STM32F1 数据手册中的描述如下图:相较与其他的普通 IO,PA13 的 Main function 为 JTMS-SWDIO。反而普通 IO 口的功能在 Alternate functions 中的 remap 里。也就是说 PA13 要想当做普通 IO 口使用,就必须使用它复用功能中的重映射。因此就需要这样的两步操作:一.在时钟配置中打开复用时钟:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE);二.对 PA13 引脚进行重映射:GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);步骤一比较好理解,这里重点叙述下步骤二的重映射操作。针对SWJ 五个引脚的重映射操作方式在 STM32F1 参考手册中的中英描述下图所示:由上图可知,重映射的方式一共有三种。分别描述如下:1.GPIO_Remap_SWJ_JTAGDisable: /*!< JTAG-DP Disabled andSW-DP Enabled */即能用 PB3,PB4,PA15 做普通 IO,PA13&14用于 SWD 调试2.GPIO_Remap_SWJ_Disable:/*!< Full SWJ Disabled(JTAG-DP + SW-DP) */5 个引脚全为普通引脚,但不能再用JTAG&SWD 仿真器调试,只能用 st-link 调试3.GPIO_Remap_SWJ_NoJTRST: /*!< Full SWJ Enabled (JTAG-DP+ SW-DP) but without JTRST */PB4 可为普通 IO 口,JTAG&SWD正常使用,但 JTAG 没有复位如果你用到所有的五个引脚当做普通 IO 口,那么上述步骤二中的重映射配置应写为GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); 如果你用 PB3,PB4,PA15 做普通 IO,PA13&14 用于 SWD 调试,则重映射配置应写为GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,同理可配置只用 PB4 可为普通 IO 口的情况。ENABLE);

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

STM32引脚使用选择注意

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部