EFM32片内外设--GPIO之SWD接口复用

本文介绍如何将EFM32微控制器的SWD接口转换为GPIO功能,包括关闭SWD接口并设置相关引脚为GPIO输出模式的具体步骤及代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

EFM32的Debug接口,使用的是SWD接口,即两线制的JTAG接口,两个信号线分别是SWCLK,SWDIO。SWCLK默认为内部下拉,SWDIO默认为内部上拉。如果想将这两个口复用成GPIO口的话,则需要修改GPIO->Route寄存器。关闭相应的复用功能。

例程:

关闭SWD接口,并且设置为GPIO输出功能。

#include <stdint.h>
#include <stdbool.h>
#include "efm32.h"
#include "efm32_chip.h"
#include "efm32_cmu.h"
#include "efm32_gpio.h"


/**************************************************************************//**
* @brief  Main function
*****************************************************************************/
int main(void)
{
    /* Chip errata */
    CHIP_Init();
   
    CMU_ClockEnable(cmuClock_GPIO,true);
   
    unsigned long ulDelay = 30000000;
    while(ulDelay--);

    GPIO_DbgSWDClkEnable(false);

    GPIO_DbgSWDIOEnable(false);

    GPIO_PinModeSet(gpioPortF,0,gpioModePushPull,1);
    GPIO_PinModeSet(gpioPortF,1,gpioModePushPull,1);
   
    /* Infinite blink loop */
    while (1)
    {
        unsigned long ulcc = 5000;
        while(ulcc--);
        GPIO_PinOutToggle(gpioPortF,0);
        GPIO_PinOutToggle(gpioPortF,1);
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值