贴子一发 石沉大海 蓝瘦香菇《简单的小问题 求解 谢谢你!》

2019-07-20 17:24发布

这是个用UART+RS485通信的程序  下面是main()函数   
遇到问题是下载代码后立即向串口发送数据它能收到,后面再发就收不到,调了多次超时参数也加过while(HAL_GetState(&huart7)==RESET);  不大清楚这两个函数,只能加进去看看效果 ,刚接触F7,请指点迷津!谢谢!
[mw_shl_code=applescript,true]int main(void)
{

  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration----------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* Configure the system clock */
  SystemClock_Config();

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_UART7_Init();

  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {

                while(HAL_UART_GetState(&huart7) == RESET );
                HAL_UART_Receive(&huart7,aRxBuffer,5,5000); //发送5个字符  aRxBuffer 和 aTxBuffer  数组长度分别是6和64

                                uint16_t i;
                for(i=0;i<5;i++)
                {
                        aTxBuffer=aRxBuffer;  //收到的数据填充到发送数组
                }
                HAL_Delay(1000);
  while(HAL_UART_GetState(&huart7) == RESET );
                           HAL_GPIO_WritePin(GPIOE,DE_Pin, GPIO_PIN_SET); //使能485发送
                HAL_UART_Transmit(&huart7,aTxBuffer,5,100);
                HAL_GPIO_WritePin(GPIOE,DE_Pin, GPIO_PIN_RESET); //

                /* USER CODE END WHILE */
  }
  /* USER CODE END 3 */

}[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。