본문 바로가기

[Microchip]/PIC32

(19)
[PIC32-SM EVM] GLCD 7565 테스트 [PIC32-SM EVM] GLCD 7565 테스트 [NET-EVM] 보드에는 GLCD 모듈을 연결할 수 있다. 핀맵이 동일하므로 여러가지 모듈이 가능한데 일단 ST7565드라이버로 테스트 해보자. 회로는 아래와 같다. 테스트 예제 코드는 config 파일의 HAL부분만 수정하면 나머지 코드는 수정없이 사용 가능하다. //----------------------------------------------------------------------------- //glcd 7565 LCD driver hal #define LCD_RDON() #define LCD_RDOFF() #define LCD_DAT BIT8 #define LCD_DAT1() Sbi(LATG, LCD_DAT) #define LCD_DA..
[PIC32-SM EVM] TFT LCD (COM26T2844) 테스트 - AVR과 속도 비교 [PIC32-SM EVM] TFT LCD (COM26T2844) 테스트 [EXP-NET EVM] 보드는 W5100을 연결하여 이더넷 테스트를 하기 위한 보드로 제작 했는데 TFT LCD모듈도 연결하여 테스트 가능하다. PIC32의 속도를 좀더 테스트 해 보기 위해 테스트 자료정리를 좀 해 보았다. 추후 PIC32의 USB호스트 기능을 테스트 하거나 이더넷 테스트를 진행할 예정이다. [EXP-NET EVM] 보드의 TFT LCD (COM26T2844)) 회로도 (한가지 아쉬운점이 있다면 RS신호를 RF4로 할당해야 하는데... 멀리 떨어져 있을뿐 아니라 16핀용 다른 MCU와 호환이 안된다. 다음에 화장보드 제작시에는 고려를 할 필요가 있을것 같다.) TFT LCD Driver 코드 //----------..
[PIC32 - SM EVM] UART 테스트 [PIC32 - SM EVM] UART 테스트 PIC32MX4에는 2개의 UART Port(RD2, RD3, RF4, RF5)가 있다. 보레이트설정 U1BRG레지스터에 계산값을 설정하면 된다. PIC24와 레지스터 및 구조가 거의 비슷하다. Seial.c에 있는 U0_GetByte(), U0_PutByte()를 수정해 주면 된다. unsigned char U0_GetByte(void) { unsigned char read_data; read_data = U1RXREG; U1STAbits.OERR = 0; return (read_data); } void U0_PutByte(unsigned char Data) { while(U1STAbits.UTXBF == 1); U1TXREG = Data; } PIC32 ..
[PIC32-SM EMV] Timer테스트 - 1초 만들기 [PIC32-SM EMV] Timer테스트 - 1초 만들기 PIC32 타이머 구조 PIC32는 총 5개의 타이머가 있고 타이머 1은 16비트 이고, 타이머 2~5는 32비트로 설정 가능하다. C32컴파일러를 이용하면 페리 관련 함수를 제공하기 때문에 설정하기는 상당히 편하다. 속도가 문제가 되지 않는 초기화 코드는 제공함수를 이용하는것이 좋을것 같다. TMR1 = 0; T1CON = 0x8030; // or TMR1bits.ON = 1; TMR1bits.TCKPS=3; PR1 = 0xFFFF; #include WriteTimer1( 0); OpenTimer1( T1_ON | T1_PS_1_256, 0xFFFF); PIC32 타이머 테스트 예제코드 1ms주기로 인터럽트 수행되고 1초가 되면(1000번 카운..
PIC32 속도 측정 PIC32 속도 측정 최대 PIC32는 80Mhz에 0 Waite Flash이다. 물론 코어 속어클럭과 페리 클럭은 분리되어 있고 페리 클럭은 훨신더 느리지만 다른 MCU에 비하면 상당히 빠른 결과가 나왔다. 다른 MCU속도 측정 결과 참고. 우선 기본적인 IO속도 측정을위해 IO토글하는 코드로 테스트 해보자. 8Mhz 클럭을 PLL로 80Mhz로 설정하고 테스트 하였다. #pragma config FNOSC = PRIPLL // Oscillator Selection #pragma config FPLLIDIV = DIV_2 // PLL Input Divider (PIC32 Starter Kit: use divide by 2 only) #pragma config FPLLMUL = MUL_20 // PLL ..
PIC32 클럭 시스템 PIC32 클럭 시스템 PIC32클럭은 아래 3가지 클럭으로 나누어진다. - SYSCLK(System Clock) : CPU에 사용(혹은 특별 페리) - PBCLK(Peripheral Bus Clock) : 대부분으 페리에 사용 - USBCLK(USB Clock) : USB용 클럭 클럭 최대 80Mhz로 동작 가능하고, Flash Access를 0 Wait로 구동해서 1.56 DMIPS/MHz (Dhrystone 2.1)까지 나온다고 한다. 소모전류 4Mhz -> 11mA 72Mhz -> 64mA
[PIC32-SM EVM] 관련 자료 [PIC32-SM EVM] 관련 자료 PIC32 회로도 PIC32MX44 핀맵 USB Host 테스트용 PIC32-SM EVM Board
PIC32 USB Host 예제 컴파일 하기 PIC32 USB Host 예제 코드를 컴파일 하면 에러가 뜨는데 #include 와 같이 라이브러리를 이용하면 에러가 발생한다. PIC32 컴파일러를 새로 깔거나 http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2615&dDocName=en532454 업데이트 해주면 에러없이 컴파일 된다. MPLAB C Compiler for PIC32 v1.10B upgrade 새로운 칩이라 까다로운 점이 많다.