版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leibihui0556/article/details/78092611
今天在调试板子时发现在PA15口上无论输出高还是低都只有一个电平3.3V,后来搞得程序都下不了,如果是禁用了端口,可以参考我的博客
下面上整个代码,实测可以,就是不能进行仿真
在示波器上可以看到,电平不断变化。
#include "stm32f10x.h"
#include "bsp_usart.h"
void delay_ms(u16 time)
{
u16 i=0;
while(time--)
{
i=12000;
while(i--);
}
}
void Relay_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE );
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init( GPIOA, &GPIO_InitStructure );
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
GPIO_ResetBits( GPIOA, GPIO_Pin_15 );
}
int main(void)
{
Relay_GPIO_Config();
while(1)
{
GPIO_SetBits(GPIOA, GPIO_Pin_15);
delay_ms(100);
GPIO_ResetBits(GPIOA, GPIO_Pin_15);
delay_ms(100);
}
}