0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

GD32F303想控制PA13~15、PB3和PB4不成功?

聚沃科技 2024-02-01 09:49 次阅读

有没有小伙伴遇到这种情况:在使用GD32F303的时候,想要将PA13~15以及PB3和PB4作为IO口来使用,却怎么也不成功呢?下面小编就来告诉大家原因。

我们先来看下GD32F303 datasheet中这几个引脚的定义:

wKgaomW6-G2AF4dHAACU62Xv93E371.png

wKgZomW6-GmAT3uiAACfvdxjzog334.png

原来,这几个引脚比较特殊,它们在默认情况下,是用于调试的JTAG/SWD口功能,想要当做普通IO口或者其他复用功能来使用需要进行“remap”。

那么如何进行remap呢?我们再来看下GD32F303 用户手册中的《GPIO和AFIO》章节中的JTAG/SWD 备用功能重映射介绍:

wKgZomW6-G-AK6geAADRYq3XovQ877.pngwKgZomW6-G-ADtMZAADx2ojm2Q4011.png

可以看到,remap有多种模式可以选择,比如将SWJ_CFG设置为“010”,那么就可以保留SWD功能,即PA13和PA14还可以用于调试,而PA15、PB3和PB4则被“释放”,从而可以当做普通IO或者其他复用功能引脚使用;若设置SWJ_CFG为“100”,那么PA13~PA15、PB3、PB4都可以当做普通IO口来使用,但注意,这个时候要想再用SWD模式去调试MCU会失败哦。

现在来教大家如何通过库函数实现JATG/SWD的remap功能。

通过用户手册我们可以看到SWJ_CFG【2:0】位于AFIO_PCF0中,所以必须要先打开AF时钟

wKgaomW6-HyAGwjpAAD0dvIWXOQ826.png

然后再使用gpio_pin_remap_config函数进行remap配置就可以了。所以完整的代码是:

?code=MDZiYjkwNzQzMzAyYzE0ODFjNzBiMzY0YjI1ZjFhZDRfaVRiYlM5SjlsN2hLcHF2aGN1SUFFQjd5NG5Sc01nWnFfVG9rZW46TnZFZ2JubjlUb05pcmh4T0VxeWNvU0UybnFjXzE3MDY3NTIwNjI6MTcwNjc1NTY2Ml9WNA

调用该段代码后,小伙伴们就可以将这些特殊引脚配置为你想要的功能啦!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44513

    浏览量

    632840
  • IO
    IO
    +关注

    关注

    0

    文章

    435

    浏览量

    39076
  • 嵌入式
    +关注

    关注

    5068

    文章

    19014

    浏览量

    303131
收藏 人收藏

    评论

    相关推荐

    STM32H750 PB3PB4PB5配置成SPI功能需要额外处理JTAG功能吗?

    STM32H750 PB3PB4PB5配置成SPI功能需要额外关闭JTAG功能吗。调试选择了SWD,CubeMx 中Debug配置为Serial Wire.此外还需要修改哪里吗。SPI引脚始终没有波形输出
    发表于 03-07 07:03

    GD32F303控制PA13~15PB3PB4不成功?#单片机 #嵌入式开发 #GD32

    单片机嵌入式开发
    聚沃科技
    发布于 :2024年02月01日 09:57:23

    stm32特殊IO口PA13PA14,PA15PB3PB4转普通

    /*关于STM32F103XXX的J-Link 下载的特殊引脚PA13PA14,PA15PB3PB
    发表于 07-24 11:22

    配置PB4PB3输出电平一直是高

    我配置完PB3PB4为上拉输出后 分别将其置0或置1 但PB3PB4的 输出电平 一直是高是不是配置错误了配置如下: GPIO_InitStructure.GPIO_Pin
    发表于 04-28 06:24

    PB3 PB4请问如何当普通IO使用

    不好意思!!目前狀況知道PB3 PB4被JTAG使用..那我現在不懂的是程式語法的使用目前試過GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE
    发表于 05-29 00:46

    AT32F403A PB3 PB4 PA15如何用作普通IO使用

    本帖最后由 贪玩 于 2022-2-16 21:58 编辑 AT32F403A 将 PB3 PB4 PA15配置成普通IO使用,配置方法基本和STM32
    发表于 11-10 21:49

    PB3 PB4不能输出他所需要的电平状态原因

    程序调试方法PB3,PB4不能输出他所需要的电平状态原因JTAG/SWD模式设置库函数(在文件stm32f10x_gpio.c中):void GPIO_PinRemapConfig(uint32_t
    发表于 08-16 06:35

    如何将A15/PB3/PB4做普通IO使用?

    如何将A15/PB3/PB4做普通IO使用?
    发表于 01-18 06:35

    在KEIL5软件中使用STLINK仿真器仿真时出错怎么办

    把自己碰到的问题向大家分享,仅供参考。硬件层面(复用问题)我使用的是杨桃电子的STM32F1开发板,仿真器所使用的IO端口与开发板会有冲突,所以使用前需要拔掉复用冲突的IO端口SW仿真:PA13 PB13
    发表于 02-23 07:04

    请问CH32F103 SPI1如何切换到PB3 PB4 PB5?

    如题,我想把SPI1切换到PB3 PB4 PB5,找到一个函数GPIO_PinRemapConfig(GPIO_Remap_SPI1,ENABLE);但是没有作用
    发表于 06-07 06:22

    STM32单片机,STLINK的SW仿真时“no target connected”问题及处理

    把自己碰到的问题向大家分享,仅供参考。硬件层面(复用问题)我使用的是杨桃电子的STM32F1开发板,仿真器所使用的IO端口与开发板会有冲突,所以使用前需要拔掉复用冲突的IO端口SW仿真:PA13 PB13
    发表于 12-29 19:54 10次下载
    STM32单片机,STLINK的SW仿真时“no target connected”问题及处理

    APM32F003F6P6_GPIO_PB3PB4能否分别做不同边沿触发

    APM32F003F6P6_GPIO_PB3PB4能否分别做不同边沿触发
    发表于 11-09 21:03 1次下载
    APM32<b class='flag-5'>F003F6P6_GPIO_PB3</b>和<b class='flag-5'>PB4</b>能否分别做不同边沿触发

    GD32F303固件库开发(13)----定时器TIM捕获PWM测量频率与占空比

    本章配置GD32F303输出PWM,同时使用TIM测量PWM频率和正占空比。 查阅手册可以得知,PB11为定时器1的通道3,让其输出PWM,PA6为定时器2的通道0,让作为TIM定时器
    的头像 发表于 12-07 10:19 5967次阅读
    <b class='flag-5'>GD32F303</b>固件库开发(<b class='flag-5'>13</b>)----定时器TIM捕获PWM测量频率与占空比

    GD32F303红枫派开发板使用手册】第二讲 GPIO-流水灯实验

    GD32F303系列MCU最多可支持 112 个通用I/O 引脚(GPIO),分别为 PA0 ~ PA15, PB0 ~ PB15, PC0
    的头像 发表于 05-29 10:02 1513次阅读
    【<b class='flag-5'>GD32F303</b>红枫派开发板使用手册】第二讲 GPIO-流水灯实验

    GD32 MCU 移植教程】2、从 GD32F303 移植到 GD32F503

    GD32E503 系列是 GD 推出的 Cortex_M33 系列产品,该系列资源上与 GD32F303 兼容度非常高,本应用笔记旨在帮助您快速将应用程序从 GD32F303 系列微
    的头像 发表于 08-31 09:36 1339次阅读
    【<b class='flag-5'>GD</b>32 MCU 移植教程】2、从 <b class='flag-5'>GD32F303</b> 移植到 <b class='flag-5'>GD32F</b>503