• 카테고리

    질문 & 답변
  • 세부 분야

    임베디드 · IoT

  • 해결 여부

    미해결

HAL_UART_Transmit_IT 문제

20.05.22 22:05 작성 조회수 558

0

stm32 프로그래밍강의에  많이 도움을 받고 있습니다.

아래는 문제없이 rx2_data에 5개를 받았을때 출력을 문제없이 합니다. HAL_UART_Transmit()를 써도 문제가 없습니다

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
    if(huart->Instance == USART2)
    {
        HAL_UART_Receive_IT(&huart2, &rx2_data, 5);
        HAL_UART_Transmit_IT(&huart2, &rx2_data, 5);

     }

}
문제는 rx2_data 에 받은 데이타를 다른 배열(포인터)에 할당하면 그 다음부터 먹통이 되어버립니다.

        HAL_UART_Receive_IT(&huart2, &rx2_data, 5);
        for(i=0;i<5;i++)
        {
            rx2_buffer[index++]=rx2_data[i];
        }
        HAL_UART_Transmit_IT(&huart2, &rx2_data, 5);

문제가 무엇일까요?

답변 1

답변을 작성해보세요.

0

안녕하세요! 유튜브 질문에도 답글 드렸듯이,

배열의 인덱스가 넘어가면서 생기는 문제일 수 있습니다.

따라서 index 배열을 0으로 초기화하는 부분이 필요합니다.

한번 확인해보세요!