본문 바로가기

[Microchip]/PIC12F_PIC10F

[PIC12F EVM] GPIO 제어시 주의사항

[PIC12F EVM] GPIO 제어시 주의사항

사용자 삽입 이미지

PIC12 시리즈중 PIC12F683의 각 포트는 ADC, GPIO, Comparator등의 여러 기능을 가지고 있으므로 사용하려면 각각 설정이 필요하다. 특히 GPIO로 사용하기 위해 ADC, Comparator 설정 레지스터로 Disable 해 주어야 한다.



GPIO로 사용하기 위해 ADC를 Disale하는 ADSEL레지스터를 Clear하고, 입출력 방향을 설정하는 TRISIO레지스터 설정해야 한다. (0- Output, 1-Input).
//-----------------------------------------------------------------------------
// On board LED
#define LED1_BIT     BIT0

#define Led1Init()     Cbi(ANSEL, LED1_BIT);Cbi(TRISIO, LED1_BIT);
#define Led1Off()     Sbi(GPIO, LED1_BIT)
#define Led1On()     Cbi(GPIO, LED1_BIT)
#define Led1Toggle()    Tbi(GPIO, LED1_BIT)
//---------------------------------------------------------------------------


Comparator 를 Disable하는 레지스터 CMCON0레지스터도의 CM0~CM2비트를 설정해 주어야 하는데 시스템 초기화시에 기본적으로 GPIO모드로 사용하도록 했다.
void SystemInit(void)
{
  CMCON0 = 0x07;  //Comparator Off, GPIO Enable
}
반응형