你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
huangyanga 发表于 2018-8-9 10:04 你贴的代码我看不到,不好分析
watercici 发表于 2018-8-9 10:10
查看全部评分
这是接收中断的代码,数据是从接收开始出错的
usart4_tx_nbytes(uart5_buffer_data, uart5_index);这个是中断发送,还是查询发送。如果是查询,这里可能会导致串口接收数据丢失。
评分
查看全部评分
void USART1_IRQHandler(void) //USART1发送、接收中断函数
{
uint8 temp;
IWDG_Feed();
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
//ch = USART1->DR;
temp = USART_ReceiveData(USART1);
if((temp == 0x02) && (usart1.rx_start == 0)) //判断包头
{
usart1.rx_start = 1;
usart1.rx_cnt = 0;
usart1.rx_buf[usart1.rx_cnt] = temp ;
}
else if(usart1.rx_start == 1) //开始接收数据
{
usart1.rx_cnt ++;
usart1.rx_buf[usart1.rx_cnt] = temp ;
}
}
}
评分
查看全部评分