[Microchip]/dsPIC33-s2009. 9. 15. 00:59

dsPIC33 - dsPIC Remap포트 설정(UART 테스트)


dsPIC33FJ802MC 를 이용하여 여러가지 테스트를 하던중에 UART설정에 오류가 있는걸 확인했다.

dsPIC33은 PPS기능을 제공해 Pin map을 PRx 핀에 원하는 형태로 설정(remap)할 수 있다.
입력과 출력에따라 설정 방법은 다른데 UART의 경우  RPINR18에 입력 RP를 설정하면 된다.
 
//U1RX를 RP20에 입력으로 연결
RPINR18bits.U1RXR = 20;
 
//RP19를 U1TX에 연결
RPOR9bits.RP19R = 3;

 
PPS제어를 위해서는 UNLOCK_PPS() 해서 설정하고, 설정후에는 LOCK_PPS() 를 해 주어야 한다.

그리고 만약 포트가 ADC와 겹쳐있다면 ADC기능을 disable해 주어야 한다.
#define U0_RXINIT()  (AD1PCFGL = 0xFFFF)

테스트 동영상




MPLAB 컴파일러를 업데이트하면  [pps.h]가 추가되는데 이것을 이요하면 쉽게 설정 가능하다.
#define  PPSUnLock      __builtin_write_OSCCONL(OSCCON & 0xbf)
#define  PPSLock      __builtin_write_OSCCONL(OSCCON | 0x40)

Posted by nexp

댓글을 달아 주세요