NUCLEO F303K8T6 USART configuration.
Hello,
I’ve got a little problem with usart on my nucleo board. Board can not send anything to the PuTTy terminal. Would somebody check if the code is ok ?
/**
******************************************************************************
* @file main.c
* @author Ac6
* @version V1.0
* @date 01-December-2013
* @brief Default main function.
******************************************************************************
- /
- include “stm32f30x.h”
- include “delay.h”
void send_char(char c)
{
while (USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET);
USART_SendData(USART2, c);
}
void send_string(const char* s)
{
while (*s)
send_char(*s++);
}
int main(void)
{
GPIO_InitTypeDef gpio;
USART_InitTypeDef usart;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);
GPIO_StructInit(&gpio);
USART_StructInit(&usart);
//LED
gpio.GPIO_Pin = GPIO_Pin_3;
gpio.GPIO_Mode = GPIO_Mode_OUT;
GPIO_Init(GPIOB, &gpio);
//USART
//Tx
gpio.GPIO_Pin=GPIO_Pin_2;
gpio.GPIO_Mode=GPIO_Mode_AF;
GPIO_Init(GPIOA,&gpio);
//Rx
gpio.GPIO_Pin=GPIO_Pin_15;
gpio.GPIO_Mode=GPIO_Mode_IN;
GPIO_Init(GPIOA,&gpio);
//USART Config
usart.USART_BaudRate = 115200;
USART_Init(USART2,&usart);
USART_Cmd(USART2,ENABLE);
SysTick_Config(SystemCoreClock / 1000);
while(1){
GPIO_SetBits(GPIOB, GPIO_Pin_3);
delay_ms(100);
GPIO_ResetBits(GPIOB, GPIO_Pin_3);
delay_ms(100);
send_char(‘a’);
}
}