We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, I have written this code.Stm32F107
#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(); } }
I expect output voltage greater than 2.82 for output voltage level and 0 for low level but I get 1.3 for high output voltage level!!!!! However it works fine for other ports (PB , ...)
Thanks for your contribution,I have tested different modes but they didn't fix this problem.In addition I have changed code for toggle PA.15 but it give me ony 3.2 volt! Have I forgotten anything?
"... but it give me only 3.2 volt!"
Well, if you were expecting greater than 2.82 and you got 3.2 - what is the problem?!
You never get full rail-to-rail voltage swings.
3.2V would be a good voltage if assuming you have around 3.3V VCC.