2019-03-23 18:25发布
tianshuihu 发表于 2015-10-25 19:23 波特率合适吗 建议, 先单独试试发送,然后再单独试试接收,都可靠了在试试收完之后发送
最多设置5个标签!
代码如下:unsigned char buffer[];
void USART1_IRQHandler(void)
{
int i=0;
unsigned char temp_trx;
if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)
{
USART_ClearFlag(USART1,USART_IT_RXNE);
temp_trx=USART_ReceiveData(USART1);
buffer=temp_trx;
USART_SendData(USART1,temp_trx);
if(i==14)
{
i=0;
}
else
i++;
}
}比如发送11,返回11,但是发送11 12,返回7F E2
波特率为115200,收完之后发送也是一样的问题
单个数据能正确收发的话,硬件没有问题,怀疑中断响应处理不够快,后面的数据把前面的冲掉了
如有必要可以构建一个接收缓冲数组,中断中仅负责接收缓冲,主程序中负责发送
一周热门 更多>