문제

ARM LPC2378 마이크로 컨트롤러에서 직렬 데이터를 읽는 데 어려움이 있습니다. UART를 사용해야합니까? 아니면 GPIO 포트를 사용할 수 있습니까 ?? Ayone은 C 코드를 가지고 있습니까 ??

도움이 되었습니까?

해결책

기술적으로 GPIO 포트를 사용하는 것은 가능하지만 소프트웨어는 비트 타이밍, 프레임, 오류 확인 등을 담당합니다. "비트 뱅킹" 코드는 매번 수행해야하므로 CPU 집약적입니다. 낮은 데이터 속도의 경우 타이머 인터럽트에서 실행할 수 있습니다.

UART를 사용하는 것이 훨씬 쉽습니다. UART는 비트 타이밍, 프레이밍, 오류 확인 등의 노력을합니다.

에 따르면 LPC2378 데이터 시트, 마이크로 컨트롤러에는 4 개의 UART가 있습니다. 따라서 UART를 사용하는 것은 갈 길입니다. 직렬 데이터는 어떤 핀이 들어오고 있습니까? 직렬 데이터는 4 개의 UART 중 하나에 연결할 수있는 PIN에 연결해야합니다. UART 사용을 위해 설정하려면 마이크로 컨트롤러에 일부 레지스터를 설정해야합니다.

  • UART 및 설정 (많은 설정)을 활성화하십시오.
  • 어떤 핀이 UART의 입력인지 (아마도)
  • 다른 핀 설정

처음에는 UART 폴링을 시도 할 수 있습니다. "RX BYTE 사용 가능한"플래그는 "바이트가 있습니다"라는 말을 읽은 다음 수신 된 바이트 레지스터에서 바이트를 읽으십시오. 또한 RX Error Flags Register를 읽고 오류가 있는지 확인하십시오.

이 작업 후에는 RX 인터럽트가 작동하는 작업을 수행 할 수 있으므로 수신 데이터를 처리하기 위해 수신 인터럽트가 생성됩니다.

이런 종류의 일은 사용자 매뉴얼 그리고 데이터 시트. 즐기다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top