
刚结束STM32,所以想请教一下。就是我想用串口2接收数据然后发送给串口1,串口1接收后再发送出去,可是怎么调试也不对,下面贴上我的代码,请大佬们帮个忙,纠结死了。(这部分是接收) HAL_UART_Receive_DMA(&huart2,u1buf,21); 下面是判断部分的代码 void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { UNUSED(huart); if(huart->Instance == USART1) //判断由哪个串口触发中断 { HAL_UART_Transmit_DMA(&huart1,u1buf,21,0xFFFF); //接收到数据马上用串口1发送 HAL_UART_Receive_DMA(&huart1,u1buf,21); //串口1重新使能 } if(huart->Instance == USART2) { HAL_UART_Transmit_DMA(&huart2,u2buf,21,0xFFFF); //接收到数据马上用串口2发送 HAL_UART_Receive_DMA(&huart2,u2buf,21); //串口2重新使能 } } |
评分
查看全部评分
百度查询发现DMA发送不会丢数据,所以我就使用了这个。那请问一下,如果用DMA发送的话,我这串代码是否有需要更改的地方
说可以找官方例程,可是我刚接触,暂时不清楚哪里可以找到我所用芯片信号的例程
评分
查看全部评分
评分
查看全部评分
谢谢!
基本通讯已经今天调通了,就是在好奇如何用串口助手给串口2发数据,串口2再把这个数据发给串口1,串口1最后再发出来。