본문 바로가기

UART

(30)
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 ..
[adStar EVM] UART 테스트 [adStar EVM] UART 테스트 adStar 는 5개의 UART(16Byte FIFO)가 있다. CANTUS에서는 8채널이 있었는데 약간 아쉬운 부분이다. 기존 CANTUS 보드와 핀맵이 조금 변경되어 코드 수정이 필요하다. adStar EVM에는 P1.0(TX0), P1.1(RX0)에 연결되어 있다. adStar UART 초기화 함수 void U0_Init(unsigned char baud) { // *R_PAF4 = ((*R_PAF4)&0xfff0)|PAF4_URX0|PAF4_UTX0; //CANTUS Cbi(*R_PAF1, GP_CFG(0) | GP_CFG(1)); Sbi(*R_PAF1, F_PAF1_0_UART_TX0 | F_PAF1_1_UART_RX0); U0_SetBaud(baud); ..
[ADuc7061 EVM] UART 테스트 [ADuc7061 EVM] UART 테스트 ADuc7061 은 정밀 24bit ADC를 내장한 아날로그 마이크로 컨트롤러이다. 24bit ADC값을 테스트 하기위해 가장 쉬운 방법으로 UART로 ADC값을 정송하는것이기 때문에 UART를 포팅하면 쉽게 가능하다. 보데이트는 아래와같이 설정하면 오차율 적게 설정할 수 있다. COMSTA0 레지스터를 이용하여 송수신 상태를 체크할 수 있다. ADuc7061 UART 송수신 함수 unsigned char U0_GetByte(void) { while ((COMSTA0 & 0x01) != 0x01) { } return COMRX; } void U0_PutByte(unsigned char Data) { COMTX = Data; while ((COMSTA0 & 0x4..
[MSP430AFE EVM] UART테스트 [MSP430AFE EVM] UART테스트 24bit ADC디버깅 하기 위해 UART를 이용하면 편리하다. 기존 MSP430 UART 코드로 동작을 하지 않아 수정하면서 정리해 보았다. MSP430시리즈마다 UART특성이 조금씩 다른데 MSP430AFE는 MSP430F2xx 를 기준으로 하고 있다. MSP430AFE UART블록도 U0TCTL (USART Transmit Control Register) 기존 22xx 시리즈와 레지스트 명이 달라서 조금 수정이 필요하다. 1Byte 전송함수 void U0_PutByte(unsigned char Data) { // USART0 TX buffer ready? while (!(U0TCTL & TXEPT)); TXBUF0 = Data; } 1Byte 수신함수 un..
[PIC16F723 EVM] UART 테스트 [PIC16F723 EVM] UART 테스트 PIC16F723 UART 블록도 PIC16F723 UART 보레이트 설정 PIC16F723 UART 초기화 함수 // Serial Prot0 Utility Fuction Routine void U0_Init(unsigned char baud) { U0_SetBaud(baud); TRISC6 = 0; // TX Output TRISC7 = 1; // RX Input TXSTA = 0b00000100; // 8bit Transmission, Asynchronous Mode // High Speed, RCSTA = 0b10000000; // Serial Port Enable, 8bit Reception ` TXEN = 1; // TX Enable CREN = 1;..

반응형