[dsPIC33CK] Change interrupt (CN) 사용 예제
·
b. 임베디드/dsPIC33CK128MP506
이번에는 Change Interrupt 를 사용해보려 합니다. Change Interrupt의 경우는 GPIO 설정만으로 대부분 사용이 가능합니다. 먼저 설정부분입니다. void MapGPIOHWFunction(void) { // HALL Input Signals TRISDbits.TRISD5 = 1; TRISDbits.TRISD6 = 1; TRISDbits.TRISD7 = 1; /* Diagnostic Interface for MCLV-2,MCHV-2/3,LVMCDB etc. Re-map UART Channels to the device pins connected to the following PIM pins on the Motor Control Development Boards . UART_RX : ..
[dsPIC33CK] UART 사용 예제
·
b. 임베디드/dsPIC33CK128MP506
개인적으로 UART는 좀 많이 복잡했습니다. 뭔놈의 레지스터가 이리 많은지... 아직도 100% 이해는 못하고 있습니다만, 그래도 동작된 기념으로 초기화 방법에 대해서 작성해 놓으려 합니다. 먼저 초기화 코드입니다. void uartInit_dsPIC33CK(void) { _U1RXIE = 0; _U1RXIF = 0; _U1TXIE = 0; _U1TXIF = 0; /* Initialize UARTx Configuration Register */ U1MODE = 0; /* UART Enable bit 1 = UART is ready to transmit and receive 0 = UART state machine, FIFO Buffer Pointers and counters are reset */ U1M..
[dsPIC33CK] Button 사용 예제
·
b. 임베디드/dsPIC33CK128MP506
이번에는 버튼을 사용합니다. 뭐 간단하게 GPIO를 이용하는거라 간단합니다 ^^ 다음은 샘플 코드입니다. #include #include void OSC_Init(void) { /* FRC = 8MHz (Internal Clock) // FVCO = Fin X (M / N1) FPLLO = Fin X (M / (N1 X N2 X N3)) FOSC = FPLLO / 2 FCY = (FPLLO / 2) / 2 (DOZE disabled) */ CLKDIVbits.FRCDIV = 0; // FRC divided by 1 (Default) CLKDIVbits.PLLPRE = 1; // N1 = 1 PLLFBDbits.PLLFBDIV = 100; // M = 100 PLLDIVbits.POST1DIV = 2; /..
[dsPIC33CK] Clock 설정 (FRC 사용)
·
b. 임베디드/dsPIC33CK128MP506
dsPIC33CK128MP506을 사용해보려 합니다. 먼저 클럭을 설정하는 부분입니다. 자세하게 다루려면 너무 광범위해져서 필요한 부분을 위주로 사용하려 합니다. 일단 저는 FRC(8MHz)를 사용해서 사용할 예정입니다. 보니 FRC를 TUN을 이용해서 조금 수정도 가능하나 저는 Nominal(default)로 사용합니다. 기본은 8MHz입니다. // FOSCSEL #pragma config FNOSC = FRC // Oscillator Source Selection (Internal Fast RC (FRC) Oscillator with postscaler) #pragma config IESO = OFF // Two-speed Oscillator Start-up Enable bit (Start up de..
로봇쟁이
'b. 임베디드/dsPIC33CK128MP506' 카테고리의 글 목록