AnsweredAssumed Answered

usart stm32f0

Question asked by teunissen.bart on Feb 6, 2013
Latest reply on Feb 8, 2013 by Clive One
hello,

i'm trying to connect my stm32f0 discovery with the pc and set up a uart connection. I have found the following code (in this community) but i can't get it to work. Does anyone have a suggestion about what could be wrong. ( i have allready used a level shifter..)

int main(void)
{
  USART_InitTypeDef USART_InitStructure;
  GPIO_InitTypeDef GPIO_InitStructure;
 
 
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
 
 
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);
 
 
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_1);
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_1);
 
 
  /* Configure USART2 pins:  Rx and Tx ----------------------------*/
  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_2 | GPIO_Pin_3;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
 
 
  USART_InitStructure.USART_BaudRate = 9600;
  USART_InitStructure.USART_WordLength = USART_WordLength_8b;
  USART_InitStructure.USART_StopBits = USART_StopBits_1;
  USART_InitStructure.USART_Parity = USART_Parity_No;
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
  USART_Init(USART2, &USART_InitStructure);
 
 
  USART_Cmd(USART2,ENABLE);
 
 
  while(1)
  {
   while (USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET)
 
 
   USART_SendData(USART2, 'X');
  }
}

Outcomes