[STM32F373 EVM] UART Test
STM32F3시리즈의 소스코드 코드는 기존의 STM32F1, F2, F4 시리즈와 100% 호환이 안되는것 같다.
STM32F1, F2, F4에서는 거의 동일한 코드로 잘 동작 했는데 컴파일이 안된다.
레지스터 명이 약간 변경된것 같다.
아래와 같이 수정해 주니 잘 동작한다. (왜 이렇게 자주 바뀌지...?)
unsigned char U0_GetByte(void)
{
//while ((USART1->SR & USART_FLAG_RXNE) == RESET);
//return USART1->DR;
while ((USART1->ISR & USART_FLAG_RXNE) == RESET);
return USART1->RDR;
}
void U0_PutByte(unsigned char Data)
{
//while((USART1->SR & USART_FLAG_TXE) == RESET);
//USART1->DR = Data;
while((USART1->ISR & USART_FLAG_TXE) == RESET);
USART1->TDR = Data;
}
[STM32F373 EVM] UART Test 예제 소스코드
int main(void)
{
int cnt = 0;
_SystemInit();
SystemClock_Config();
Led1Init();
U0_Init(BAUD_115200);
DebugPrint("STM32F373 EVM UART Test\r\n");
while (1)
{
Led1Toggle();
DebugPrint("cnt =%d\r\n", cnt++);
Delay(100);
}
}