TRIS 니 MASK 이런 것은 잘 모르겠고, 그냥 LED정도 쉽게 깜박이게 하는 방법정도려나.
RA1은 PORTA의 1번 비트를 뜻한다.
이를 읽거나 쓰기 위해서는 _RA1이렇게 해도 되고, PORTABits.RA1이렇게 해도 된다.
그 전에 읽으려면
mPORTASetPinsDigitalIn(BIT_1);
이렇게 하고, 출력하려면
mPORTASetPinsDigitalOut(BIT_1);
으로 한다.
'레스터스명'bits.'비트명' = 초기값
더 간단히 하려면
_'비트명' = 초기값
으로 하면 쓸 수 있다.
이는 MPLAB에 C32 Suite complier를 사용했을 때의 방법이다. ccs등의 툴은 다른 접근 방법을 갖는다.
아래는 간단한 예제이다.
//디지털 핀 IO 초기화 PORTSetPinsDigitalIn(IOPORT_B, BIT_1 | BIT_2 | BIT_3); PORTSetPinsDigitalOut(IOPORT_C, IOPORT_PIN_6 | IOPORT_PIN_7); //아날로그 핀 IO 초기화 PORTSetPinsAnalogIn(IOPORT_B, BIT_2 | BIT_4); PORTSetPinsAnalogOut(IOPORT_C, IOPORT_PIN_6 | IOPORT_PIN_7); //포트에 쓰기 / 지우기 PORTSetBits(IOPORT_B, BIT_2 | BIT_4); PORTClearBits(IOPORT_B, BIT_2 | BIT_4); PORTToggleBits(IOPORT_B, BIT_2 | BIT_4); PORTWrite(IOPORT_B, BIT_2 | BIT_4); //포트 읽어오기 unsigned int value = PORTRead(IOPORT_B); unsigned int value = PORTReadBits(IOPORT_B, BIT_2 | BIT_4);
'Enginius > Firmware' 카테고리의 다른 글
PID 제어 (1) | 2010.02.18 |
---|---|
PIC32 - I2C (0) | 2010.02.17 |
PIC32 - Interrupt (0) | 2010.02.17 |
PIC32 - ADC (0) | 2010.02.17 |
PIC32 - 기본 페리 (0) | 2010.01.05 |