STM32串口通訊USART
void UART1_Configuration(void)
{
}
發(fā)送一個(gè)字符
u8 Uart1_PutChar(u8 ch)
{
USART_SendData(USART1, (u8) ch);
while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET)
{
}
return ch;
}
發(fā)送一個(gè)字符串
void Uart1_PutString(u8* buf , u8 len)
{
for(u8 i=0;i
}
}
如果UART使用中斷發(fā)送數(shù)據(jù) 則需要修改stm32f10x_it.c 中的串口中斷函數(shù) 并且需要修改void NVIC_Configuration(void)函數(shù)
在中斷里面的處理 原則上是需要簡(jiǎn)短和高效 下面的流程是 如果接收到255個(gè)字符或者接收到回車符 則關(guān)閉中斷 并且把標(biāo)志位UartHaveData 置1
void USART1_IRQHandler(void)
{
RxBuffer[ RxCounter ] = USART_ReceiveData(USART1);
if( RxCounter == 0xfe || == RxBuffer[ RxCounter ] )
{