다음을 통해 공유


실시간 지원 애플리케이션에서 GPIO 사용

Important

Azure Sphere(레거시) 설명서입니다. Azure Sphere(레거시)는 2027년 9월 27일에 사용 중지되며 사용자는 이 시간까지 Azure Sphere(통합)로 마이그레이션해야 합니다. TOC 위에 있는 버전 선택기를 사용하여 Azure Sphere(통합) 설명서를 볼 수 있습니다.

Azure Sphere는 GPIO(범용 입력/출력)를 지원합니다. GPIO는 통합 회로의 프로그래밍 가능한 디지털 핀 유형입니다. GPIO에는 미리 정의된 기능이 없고 애플리케이션에서 해당 동작을 사용자 지정할 수 있습니다. GPIO의 일반적인 용도는 하드웨어 디바이스의 상태를 변경하고 LED를 제어하며 스위치 상태를 읽는 것입니다.

이 항목에서는 RTApp(실시간 지원 애플리케이션)에서 GPIO를 사용하는 방법을 설명합니다. 상위 수준 애플리케이션에서 GPIO를 사용하는 방법에 대한 자세한 내용은 상위 수준 애플리케이션에서 GPIO 사용을 참조 하세요.

RTApp은 Azure Sphere 디바이스에서 GPIO를 사용할 수 있습니다. GPIO에는 다음 작업이 지원됩니다.

  • 입력 읽기
  • 출력을 높음 또는 낮음으로 설정
  • 폴링 소프트웨어 인터럽트

참고 항목

Azure Sphere OS는 시작 시 주변 장치를 다시 설정하지 않습니다. 애플리케이션은 시작 및 다시 시작한 후 주변 디바이스가 정상 상태인지 확인해야 합니다.

실시간 코어에서 GPIO에 대한 MT3620 지원

MT3620에서 대부분의 GPIO는 GPIO 0부터 시작하는 4개로 구성된 블록 형태로 실시간 코어에 매핑됩니다. 그러나 ISU 블록 0~4에는 5개의 GPIO가 있습니다. 따라서 상위 수준 애플리케이션(또는 다른 RTApp)이 동일한 블록에서 GPIO를 요청하는 경우 RTApp GPIO 요청이 실패할 수 있습니다. 예를 들어 상위 수준 애플리케이션에서 GPIO 8을 요청하고 RTApp에서 GPIO 9를 요청하면 두 번째 앱에서 배포 시 오류를 반환합니다.

MT3620 RDB의 각 LED는 각각 빨간색, 녹색 및 파란색 채널에 대해 하나씩 세 개의 GPIO에 매핑됩니다.

MT3620에 대한 레지스터 기본 주소, 인터럽트 번호, 클록 속도, 샘플링 빈도 및 기타 세부 정보는 MT3620 데이터시트MT3620 M4 사용자 설명서를 참조하세요. 질문이 남아 있는 경우 이메일을 통해 Azure.Sphere@avnet.comAvnet에서 세부 정보를 요청할 수 있습니다.

GPIO 요구 사항

애플리케이션 코드에는 GPIO 및 해당 레지스터를 식별하는 방법이 필요합니다. 제조업체의 하드웨어 설명서에서 레지스터 기본 주소를 찾을 수 있습니다. RTApp에서 GPIO를 사용하려면 먼저 사용할 블록을 초기화해야 합니다. 초기화는 앱에서 사용하는 각 블록에 대해 한 번만 필요합니다.

MT3620에 대한 자세한 내용은 실시간 코어에서 GPIO에 대한 MT3620 지원을 참조 하세요.

애플리케이션 매니페스트 설정

GPIO를 사용하려면 RTApp이 애플리케이션 매니페스트의 기능 섹션에 나열해야 합니다. 대상 하드웨어의 JSON 파일에 정의된 "AppManifestValue"를 사용하여 GPIO를 식별합니다. 예를 들어 다음 줄은 GPIO 8 및 12를 예약합니다.

"Capabilities": {
 "Gpio": [ 8, 12 ]
}

GPIO 샘플 애플리케이션

GPIO 샘플RTApp에서 GPIO를 사용하는 방법을 보여 줍니다. 추가 정보 파일은 세부 정보 및 지침을 제공합니다.