본문 바로가기

분류 전체보기

(1955)
TM4C123 - IAR 컴파일러 개발환경 설정 TM4C123 - IAR 컴파일러 개발환경 설정TM4C123 개발 환경 설정을 위해 IAR 컴파일러를 이용하였고 개발 환경을 구축할 수 있다. Tiva-C 시리즈는 하드웨어 자체의 ROM 영역에 기본적인 라이버러리가 포함되어 있기 때문에 개발 환경 자체는 상당히 간단하게 구성할 수 있다. 함수의 정의 파일이 있는 inc 폴더만 있으면 끝난다. IAR 실해하고 Device를 [TM4C123 EVM]에 적용된 TM4C123FH6PM으로 선택한다. 내부 ROM 코드를 이용하기 위해서는 TARGET_IS_BLIZZARD_RB1 를 정의 해 주면된다. 그리고 ROM코드를 사용하기 위해서는 접두사로 ROM_으로 시작 하는 함수를 사용하면 된다.#define _SET_SYSTEM_CLK() ROM_SysCtlCloc..
TM4C123 EVM - Tiva™ C Series Cortex-M4 보드 제작 TM4C123 EVM - Tiva™ C Series Cortex-M4 보드 제작 TI의 새로운 MCU 라인인 Tiva C시리즈인 TM4C123 EVM 보드를 제작 했다. TI의 코텍스 시리즈인 Stellaris LM3S 후속으로 Cortex-M4 코어의 TM4C 를 출시 했다. 소문에 의하면 Stellaris 시리즈는 공정상 단종을 한다고 한다. 가장 잘나갔던 LM3S8962 관련해서 TI 홈페이지를 보면 더이상 지원 하지 않는다고 나와 있다. 아무튼 Tiva C시리즈는 새로운 공정으로 막강한 페리를 앞세우고도 저렴하게 판매하고 있다.64핀 페키지에 Cortex-M4코어, 8개의 UART, 4개의 SPI, 6개의 I2C, 2 개의 CAN, USB(Host/Device/OTG), 2개의 QEI, ADC....
STM32 내부클럭 사용하기 STM32 내부클럭 사용하기보드 단가를 낮추기 위해서는 내부 오실레이터를 이용하면 좋은데 특히 STM32F100 시리즈는 저렴하기 때문에 보드 단가 측면에서 내부 오실레이터를 사용하는것이 유리하다. 다만 디폴트가 PLL클럭의 1/2이다.따라서 최대 64Mhz로 구동 하므로 주의가 필요 하다. (외부 8Mhz 구동시 최대 72Mhz로 구동가능하다.) PLLCLK = 8MHz/2 * 16 = 64 MHz /* PLL entry clock source */#define RCC_PLLSource_HSI_Div2 ((u32)0x00000000)#define RCC_PLLSource_HSE_Div1 ((u32)0x00010000)#define RCC_PLLSource_HSE_Div2 ((u32)0x00030000)..
M052LBN EVM - NUVOTON 12bit ADC 테스트 M052LBN EVM - NUVOTON 12bit ADC 테스트 NUVOTON M051 시리즈 ADC는 최대 12비트해상도 이고 특이사항으로 5V까지 측정 가능하다. - 입력레인지 : 0~5V- 10bit 12bit, 해상도- 8채널 싱글, 4채널 differenctial- 760kSPS (16Mhz) M052LBN ADC 블록도 M052LBN ADC 초기화 코드void ADCInit( void){ SYS_UnlockReg(); /* Enable ADC module clock */ CLK_EnableModuleClock(ADC_MODULE); /* ADC clock source is 22.1184MHz, set divider to 7, ADC clock is 22.1184/7 MHz */ CLK_SetM..
M052LBN - NUVOTON Timer 테스트 M052LBN - NUVOTON Timer 테스트 Nuvoton사의 M051시리즈는 4개의 32bit (8bit prescale, 24bit timer)타이머가 있다. M052LBN 타이머 블록도 크럭소스 선택 M052LBN 타이머 초기화 코드타이머 클럭소스는 내부클럭을 사용하고 있기 때문에 HIRC를 선택해서 사용하고 있다.void Timer0Init(void){ SYS_UnlockReg(); /* Enable peripheral clock */ CLK->APBCLK |= CLK_APBCLK_TMR0_EN_Msk; /* Peripheral clock source */ CLK->CLKSEL1 |= CLK_CLKSEL1_TMR0_S_HIRC; //1ms 타이머 설정 TIMER_Open(TIMER0, TIM..
M052LBN EVM - SPI 테스트 M052LBN EVM - SPI 테스트 M052LBN는 저렴한 MCU임에도 2채널의 SPI를 제공한다. FIFO있고 SPI속도도 빠르다. M052LBN SPI 블록도 M052LBN SPI 초기화 함수void SPI0_Init(void){SYS_UnlockReg(); CLK_EnableModuleClock(SPI0_MODULE); /* Set multi function pin for SPI1 */ //SYS->P0_MFP = SYS_MFP_P04_SPISS1 | SYS_MFP_P05_MOSI_1 | SYS_MFP_P06_MISO_1 | SYS_MFP_P07_SPICLK1; SYS->P1_MFP = SYS_MFP_P15_MOSI_0 | SYS_MFP_P16_MISO_0 | SYS_MFP_P17_SPICLK0..
M052LBN EVM - UART테스트 M052LBN - UART테스트 M052LBN UART 특징M0521은 2채널의 UART가 있다. 그리고 FIFO 있고.. RS485 9bit 모지원한다. 저렴한 MCU에서 지원은 좋은것 같다. - Separate receive / transmit 16/16 bytes entry FIFO for data payloads - hardware auto-flow control and flow control - Supports RS-485 9-bit mode - Supports hardware or software enable to program RTS pin to control RS-485 transmission direction directly M052LBN UART 블록도 M052LBN UART 초기화 코..
M052LBN EVM - NUVOTON MCU성능 측정 M052LBN EVM - NUVOTON MCU성능 측정 NUVOTON사의 저렴한 MCU M052LBN 는 최대 클럭 50Mhz로 동작한다. GPIO토글을 이용하여 MCU성능 측정을 해 보았다. 3.2Mhz#define Led1Toggle()P26 ^= 1 15 while(1) 16 { 17 Led1Toggle(); \ ??main_1: (+1) \ 00000026 0x6821 LDR R1,[R4, #+0] \ 00000028 0x4041 EORS R1,R1,R0 \ 0000002A 0x6021 STR R1,[R4, #+0] \ 0000002C 0xE7FB B ??main_1 \ 0000002E 0xBF00 Nop \ ??main_0: \ 00000030 0x50004080 DC32 0x50004080 \..