AnsweredAssumed Answered

Strange GPIOA output states

Question asked by mohamadi.parisa on Dec 26, 2016

Hello,

Here is my code for set and reset PA.3 for stm32f10x

 

#include <stdio.h>
#include <string.h>
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_tim.h"

 

void delay(void){
                int i,j;
        for(i=0;i<10000;i++)
        for(j=0;j<250;j++);

 

}

 

int main(void){
                GPIO_InitTypeDef GPStructure;
                RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
                GPStructure.GPIO_Mode=GPIO_Mode_Out_PP;
                GPStructure.GPIO_Pin=GPIO_Pin_3;
                GPStructure.GPIO_Speed=GPIO_Speed_50MHz;
                GPIO_Init(GPIOA,&GPStructure);

 


while(1){
GPIO_SetBits(GPIOA,GPIO_Pin_3);
delay();delay();delay();delay();delay();delay();
GPIO_ResetBits(GPIOA,GPIO_Pin_3);
delay();delay();
}

 

}

Well, I expect to get output voltage greater than 2.82 for high output voltage level and 0 for low voltage level but I get 1.3 for high output voltage level in set states! However it works fine for other ports (PB , ...)

In addition, I  test it for PA.15 but I get only 3.2 volt for set and reset!!!

 

what is my mistake?

Outcomes