본문 바로가기

UART

(26)
ADuM360 UART 테스트 ADuM360 UART 테스트 ADucM360 UART 초기화 함수ADucM360은 UART는 아래와 같이 GPCON레지스터를 이용해 핀맵을 2개의 포트에 할당 할 수 있다. ADucM360 EVM 에서는 P0.6, P0.7에 할당 해 두었고 USB2UART를 이용하여 PC와 UART통신이 가능하다. P0.1/SCLK1/SCL/SINP0.2/MOSI1/SDA/SOUT P0.7/POR/SOUTP0.6/IRQ2/SIN void U0_Init(unsigned char baud){ //Select IO pins for UART. //pADI_GP0->GPCON |= 0x3C; // Configure P0.1/P0.2 for UART pADI_GP0->GPCON |= 0x9000; // Configure P0.6..
STM8S - UART 테스트 STM8S - UART 테스트 SS-Type EVM 보드와 USB2UART를 이용하여 STM8S UART 테스트를 진행했다. STM8S UART 블록도뭐 그리 특별한것은 없고 다른 8bit MCU와 같이 간단한 레지스터 구조로 구성되어 있다. 몇가지 레지스터만 확인하면 될것 같다. STM8S UART 송수신 함수unsigned char U0_GetByte(void){while ((UART1->SR & UART1_FLAG_RXNE) == RESET);return UART1->DR;} void U0_PutByte(unsigned char Data){ UART1->DR = Data; while ((UART1->SR & (u8) UART1_FLAG_TXE) == RESET);} STM8S UART 테스트 예제i..
dsPIC33E - UART 테스트 dsPIC33E - UART 테스트 dsPIC33E UART 블록도 dsPIC33E UART 초기화 코드UART도 약간의 레지스터 변화가 있어 코드수정이 필요하다. void U0_Init(unsigned char baud){U0_TXINIT();U0_RXINIT(); U0_SetBaud(baud); U1MODEbits.STSEL = 0;// 1 스톱 비트U1MODEbits.PDSEL = 0;// No 패리티, 8비트 데이터 전송U1MODEbits.ABAUD = 0;// Autobaud 중지U1MODEbits.BRGH = 1; U1STAbits.UTXISEL1 = 1;//인터럽트 사용 중지U1STAbits.UTXISEL0 = 1;//인터럽트 사용 중지U1STAbits.URXISEL = 0;//1 문자 수신..
LPC812 EVM - UART 테스트 LPC812 EVM - UART 테스트 LPC812 는 3채널의 UART가 있다. 20핀 소형 페키지 임에도 불구하고 3개의 UART가 있어 유용하게 사용될곳이 많을것 같다.그리고 스위치 메트릭스라는 기능을 이용하여 UART핀을 자유롭게 맵핑할 수 있는것도 상당히 마음에 든다. 아래 그림은 LPC812의 UART 블록도 이다. LPC812 UART 핀맵핑 #if 1 /* connect the UART0 TXD abd RXD sigals to port pins(P0.4-P0.0)*/regVal = LPC_SWM->PINASSIGN0 & ~( 0xFF PINASSIGN0 = regVal | ( 4 PINASSIGN0 & ~( 0xFF PINASSIGN0 = regVal | ( 0 PINASSIGN0 & ~(..
XMC1300 EVM - UART 테스트 (Infineon Cortex-M0) [XMC1300 EVM] - UART 테스트 (Infineon Cortex-M0) XMC1300는 UART, SPI,I2C,I2S통신을 위한 모듈이 하나의 통합된 모듈로 2채널 존재한다하나의 통합된 모듈이기 때문에 소프트웨어 적으로는 거의 동일하게 설정해서 사용할 수 있기 때문에 편리하다. 하지만 동시에 여러 통신 채널을 사용하는 어플리케이션에는 문제가 발생 할 수 있다 XMC1300 UART 블록도 여러 통신모듈이 레지스터를 공유하기 때문에 다소 복잡해 보인다하지만 몇가지 레지스터만 학인하면 쉽게 UART통신이 가능하다 TDV bit7Transmit Data Valid 전송버퍼 (TBUF)의 데이터 상태를 나타내는 비트로 1이면 정상 전송되었음을 나타낸다.의 can be considered as val..
K20 EVM - Kinetis Cortex-M4 K20 UART 테스트 K20 EVM - Kinetis Cortex-M4 K20 UART 테스트 K20의 UART는 일반 UART 3채널로 구성되어 있다. PTA1 -> UART0_RXPTA2 -> UART0_TX PTB16 ->UART0_RXPTB17 ->UART0_TX PTD6 -> UART0_RXPTD7 -> UART0_TX PTC3 ->UART1_RXPTC4 ->UART1_TX PTD2 ->UART2_RXPTD3 ->UART2_TX UART clockingUART0 and UART1 modules operate from the core/system clock, which provides higherperformance level for these modules. All other UART modules operate f..
MSP430FR5739 EVM - eUSCI UART테스트 MSP430FR5739 EVM - eUSCI UART테스트 MSP430F5739는 eUSCI(enhanced universal serial communication interface) 라고 하는 통신 인터페이스가 적용되었다고 한다. 새로운 기능으로 추가되는것은 좋지만 기존 코드를 좀 쓸수 있었으면 좋겠는데... 레지스터명이나 기능들이 또 바뀌어 있다. 설계 할때 잘 해둘필요가 있는데... 아무튼 다시 한번 정리해 본다. MSP430FR5739 UART 블록도 MSP430FR5739 UART 초기화 함수 // Serial Prot0 Utility Fuction Routine void U0_Init(unsigned char baud) { U0_SetBaud(baud); //set Baudrate //----..
EFM32G210 EVM - UART 테스트 EFM32G210 EVM - UART 테스트 MCU를 처음 다룰때 디버깅 및 제어를 위해 가장 기본적으로 필요한 인터페이스 수단으로 UART를 사용하는데 EFM32는 2채널의 UART가 있다. 특히 Low Energy UART 기능이 있어 저전력으로 UART통신을 할 수 있다고 한다. EFM32 UART 블록도 EFM32 UART 핀맵 PE10, PE11 에 UART0가 연결되어 있다. PC0, PC1에 UART1이 연결되어 [EFM32 EVM] 보드에서는 있지만 SPI로 사용하고 있다. EFM32 UART 초기화코드 void U0_Init(unsigned char baud) { USART_InitAsync_TypeDef init = USART_INITASYNC_DEFAULT; USART_TypeDef ..