新手上路
- 积分
- 28
- 金钱
- 28
- 注册时间
- 2017-12-7
- 在线时间
- 3 小时
|
1金钱
请教下各位, 本人用STM32F103VET6 UART5串口功能,测试自发自首功能, 发送单个字节是可以的, 很正常, 但是我一次性发送4个字节或者更多, 就不能正常接受, 只能接受其中的某几个字节总有掉的, 为什么呢?
程序如下: 发送
USART_SendData(UART5,9);
while(USART_GetFlagStatus(UART5,USART_FLAG_TXE)!=SET);//等待发送结束
USART_SendData(UART5,8);
while(USART_GetFlagStatus(UART5,USART_FLAG_TXE)!=SET);//等待发送结束
USART_SendData(UART5,7);
while(USART_GetFlagStatus(UART5,USART_FLAG_TXE)!=SET);//等待发送结束
接受中断
if(USART_GetITStatus(UART5, USART_IT_RXNE) != RESET) //接收中断(接收到的数据必须是0x0d 0x0a结尾)
{
resdat= USART_ReceiveData(UART5);//(USART1->DR); //读取接收到的?
uart5_get[uart5_cnt] = resdat;
++uart5_cnt;
if(uart5_cnt>=3)
uart5_cnt = 0;
//USART_ClearFlag(UART5, u16 USART_FLAG);
|
|