STM32
直播中

王飞

8年用户 1191经验值
私信 关注
[问答]

stm8s103无法禁用SWIM怎么办?

   我使用的是stm8s103芯片,由于管脚紧张,需要swm/pd1管脚,我在设计时做了跳线兼容处理,非调试时,通过跳线使用PD1 GPIO功能,但是我在测试时发现无法控制PD1的输出,大家有没有遇到过这个问题?
我的代码:

CFG->GCR=CFG_GCR_SWD;
while(1)
{
GPIO_Init(GPIOD, GPIO_PIN_1, GPIO_MODE_OUT_PP_HIGH_FAST);
GPIO_Init(GPIOD, GPIO_PIN_1, GPIO_MODE_OUT_PP_LOW_FAST);
}

用示波器观察,一直为高电平,没有发生跳变。而测试PA1 的时候,示波器能看到跳变波形,这说明测试代码是没有问题的,我认为问题出在SWIM实际上没有禁用,导致PD1无法使用,但是如何解决这个问题呢,一头雾水,这个问题解决不了的话,我又要改板了,心痛心痛呀。下面是测试PA1跳变的代码。
while(1)
{
GPIO_Init(GPIOA, GPIO_PIN_1, GPIO_MODE_OUT_PP_HIGH_FAST);
GPIO_Init(GPIOA, GPIO_PIN_1, GPIO_MODE_OUT_PP_LOW_FAST);
}


回帖(1)

车熊鹤

2024-5-11 17:02:32
DeBug一下,看下寄存器不就好咯
举报

更多回帖

发帖
×
20
完善资料,
赚取积分