你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
查看全部评分
wenyangzeng 发表于 2017-11-16 21:43 主函数加入:__HAL_UART_ENABLE_IT(&huart2,UART_IT_RXNE); 就可以不断进入中断了。
D5Power 发表于 2017-11-17 00:41 非常感谢!我明天一早就试一下!
zero99 发表于 2017-11-20 13:56 楼主问题解决了吗
D5Power 发表于 2017-11-20 21:58 解决了一部分。所以没有来回复下定论。目前定期的发送是没问题了。但是连续进行回复,如: HAL_UART_Tran ...
wenyangzeng 发表于 2017-11-20 22:18 HAL_UART_Transmit(&huart2,p,24,0xffff); 一次发送24字节不就OK了?
主函数加入:__HAL_UART_ENABLE_IT(&huart2,UART_IT_RXNE);
就可以不断进入中断了。
评分
查看全部评分
非常感谢!!今天太晚了。明天试一下!!
非常感谢!我明天一早就试一下!
楼主问题解决了吗
解决了一部分。所以没有来回复下定论。目前定期的发送是没问题了。但是连续进行回复,如:
HAL_UART_Transmit(&huart2,p,12,0xffff);
HAL_UART_Transmit(&huart2,p,12,0xffff);
还是会出现卡死的情况。
HAL_UART_Transmit(&huart2,p,24,0xffff);
一次发送24字节不就OK了?
评分
查看全部评分
感谢回复。我明白你的意思,每次循环,把要发送的数据,按照协议连成一个二进制流,然后一起发送就可以解决了。
我就是好奇,是不是这个问题无法解决。是由于单片机的处理速度决定的吗?
我的F4里面这样:
__HAL_UART_DISABLE_IT(&UART1_Handler,UART_IT_RXNE);
HAL_UART_Transmit(&UART1_Handler,&mb_buf_out[0],6,100); __HAL_UART_ENABLE_IT(&UART1_Handler,UART_IT_RXNE);
HAL_UART_Receive_IT(&UART1_Handler,&RxData, 1);
F1里面这样:
__HAL_UART_DISABLE_IT(&huart2,UART_IT_RXNE);
HAL_UART_Transmit(&huart2,&i,1,100);
__HAL_UART_ENABLE_IT(&huart2,UART_IT_RXNE);
HAL_UART_Receive_IT(&huart2,&aRxBuffer,1);
我试了不行,你们这样就可以吗?