Witam
Staram się wysłać dane po przez usart i odebrać je na tym samym urządzeniu (zworka na Rx i Tx), niestety użądzenie nie odbiera danych, debuger zatrzymuje się na pętli w funkcji odbierającej.
void initUsart(void){
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
USART_Cmd(USART1, ENABLE);
USART_InitTypeDef USARTStruct;
USARTStruct.USART_BaudRate = 9600;
USARTStruct.USART_WordLength = USART_WordLength_8b;
USARTStruct.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USARTStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USARTStruct.USART_StopBits = USART_StopBits_1;
USARTStruct.USART_Parity = USART_Parity_No;
USART_Init(USART1, &USARTStruct);
GPIO_InitTypeDef GPIOStruct;
GPIOStruct.GPIO_Mode = GPIO_Mode_AF_PP;
GPIOStruct.GPIO_Pin = GPIO_Pin_9;
GPIOStruct.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOA, &GPIOStruct);
GPIOStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIOStruct.GPIO_Pin = GPIO_Pin_10;
GPIO_Init(GPIOA, &GPIOStruct);
}
unsigned char USART_ReadByteSync(USART_TypeDef *USARTx){
while((USARTx->SR & USART_SR_RXNE) == 0);
return (unsigned char)USART_ReceiveData(USARTx);
}