답변:
마이크로 컨트롤러의 많은 핀들은 서로 다른 기능을 가지고 있습니다. '정상'기능은 GPIO, 범용 입력 / 출력을 나타 냅니다. 이 경우 관련 레지스터에 쓰고 읽음으로써이 핀을 직접 사용할 수 있습니다.
'대체'기능은 I 2 C, SPI, USART, CCP, PWM, 클록, ADC 등을 포함 할 수있는 다른 기능을 의미합니다. 대체 기능에있을 때 핀을 제어하는 방법은 주변 장치에 따라 다릅니다. 일반적으로 특수 기능 레지스터 (SFR)에 쓰고 읽습니다. 주변 장치가 나머지를 처리합니다.
RESET 후 어떤 기능이 표준인지에 따라 ( 항상 GPIO 가 아님 ), 관련 데이터 시트에서 찾을 수 있습니다. 대부분의 경우 즉시 사용하려는 기능을 선택할 수 있으므로 주변 장치간에 전환 할 수 있습니다.
여러 주변 장치에 하나의 핀을 사용하면 많은 기능을 가진 마이크로 컨트롤러를 만들 수 있습니다. 그러나 대부분의 경우 항상 해당 핀의 주변 장치를 항상 원하고 (즉석에서 기능을 전환하지 않으려는 경우) 하나의 프로그램에서 모든 주변 장치를 사용할 수 없거나 적어도 동일하지는 않습니다 시각. 반면에, 어쨌든 실제로는 자주 필요하지 않습니다.
Connor이 지적했듯이 '대체 함수'는 약간 다른 컨텍스트에서 다른 것을 나타낼 수도 있습니다. 여기서 핀에 어떤 기능을 넣었는지가 아니라 기능에 사용하는 핀에 대해 설명합니다. 이를 주변 장치 핀 선택이라고하며 기본적으로 주변 장치가 사용중인 핀을 선택할 수 있음을 의미합니다. 예를 들어 RA1 및 RA2 또는 RB1 및 RB2를 통해 RS232를 수행 할 수 있습니다.
더 자세한 설명은 Connor의 답변을 참조하십시오 (이를 위해 그를 찬성하십시오).
@CamilStaps 답변 외에도 "대체 핀 기능"이 일반적으로 사용되는 또 다른 컨텍스트가 있습니다.
일부 마이크로 컨트롤러에는 내부 주변 장치를 여러 세트의 IO 라인간에 전환 할 수있는 옵션이 있습니다. 이러한 방식으로, 기능이 동일한 핀 세트에 매핑 된 내부 모듈 (SPI, I2C 등)을 사용하려는 경우 문제를 피할 수 있습니다.
일반적으로 다양한 주변 장치가 매핑되는 핀 세트를 결정하는 제어 레지스터가 있습니다.
이 기능을 갖춘 마이크로 컨트롤러와 함께 작업 한 것을 알고 있지만 특정 부품 번호를 기억할 수 있다면 망할 것입니다.
편집 : 발견-많은 PIC24 및 dsPIC 부품에서 사용할 수 있습니다.
"Peripheral Pin Select"라고하지만 기본적으로 대체 핀 기능을 구성하는 메커니즘입니다.