AnsweredAssumed Answered

STM32F0 and usart

Question asked by jobert.edouard on Aug 9, 2015
Latest reply on Aug 11, 2015 by romain reicher
Hello,
Im want to send data with USART2 (im using KEIL uVision 5).
Im trying to use this program :

/* USART2 PA.2 Tx, PA.3 Rx STM32F0-Discovery sourcer32@gmail.com */
 
#include "stm32f0xx.h"
#include "stm32f0_discovery.h"
 
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');


  }
}




Im using Keil in simulation mode, and when i want to debug it, i add the USART2 register to check it and it says : <cannot evaluate>, when i run the program, it says : *** error 65: access violation at 0x00000000 : no 'execute/read' permission

Basically, I would like to check the USART2 register to see if I do have X in this register. Thanks for your help



Outcomes