void UART_Initializes(void)//初始化函数
{
UART1_Init((uint32_t)115200, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);
UART1_Cmd(ENABLE);
UART1_ITConfig(UART1_IT_RXNE_OR, ENABLE);
enableInterrupts();
}
//接收
INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18)
{
u8 temp;
RecvCount = 0; while(UART1_GetITStaues(UART1_IT_RXNE) != RESET)
{
RecvBuf[RecvCount] = UART1_ReceiveData8(); //读取接收到的数据(该操作会自动清除中断接收标志)
RecvCount++;
TIMDelaNms(5);
}
TIMDelaNms(5);
UART1_SendNByte(RecvBuf,RecvCount); //发送接收到的数据
UART1_ClearITPendingBit(UART1_IT_RXNE);
}
发送函数是没有问题的,只能接收最多2Byte
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
谢谢了兄dei
一周热门 更多>