usart
--------------------------------------------------------
CR1、CR2、CR3 和 SR,即USART 的三个控制寄存器(Control Register)及一个状态寄存器(Status Register)
1-> GPIO初始化 GPIO_InitTypeDef
2-> usart 初始化 USART_InitTypeDef
3-> printf 重定向
/// 重定向c库函数printf到USART1
int fputc(int ch, FILE *f)
{
/* 发送一个字节数据到USART1 */
USART_SendData(macUSARTx,(uint8_t) ch);
/* 等待发送完毕 */
while(USART_GetFlagStatus(macUSARTx, USART_FLAG_TXE) == RESET);
return (ch);
}
/// 重定向c库函数scanf到USART1
int fgetc(FILE *f)
{
/* 等待串口1输入数据 */
while(USART_GetFlagStatus(macUSARTx, USART_FLAG_RXNE) == RESET);
return(int)USART_ReceiveData(macUSARTx);
}