본문 바로가기

UART

(26)
[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;..
[AT90USB1287-EX] 기본 테스트 - UART [AT90USB1287-EX] 기본 테스트 - UART AT90USB1287은 UART가 1포트가 있다. ATMega128과 호환을 위해 UART1에 디버깅을 위한 USB2UART 모듈을 연결할 수 있도록 했다. USB2UART는 모듈을 이용하거나 CP2101을 보드에 실장하여 사용할 수 있는데 CP2101을 이용할 경우 AT90USB1287의 USB Device 기능과 겹치게 되므로 선택저항으로 선택해서 사용할 수 있다. 확장 UART포트 ATmega128 과 레지스터명이 약간 다르므로 수정할 필요가 있다. AT90USB1287 UART드라이버 코드 #define _UART1_ENABLE //--------------------------------------------------------------..
[DSP28335 EVM] ADC테스트 - 보드의 광센서 그래프 출력 예제 [DSP28335 EVM] ADC테스트 - 보드의 광센서 그래프 출력 예제 [DSP28335 EVM] 보드에는 ADC를 테스트 하기 위한 CdS 센서가 있고, ADCA1에 연결되어 있다 CdS센서를 사용하지 않는다면 R157을 제거하면 된다. TMS320F28335 ADC테스트용 PC프로그램 TMS320F28335 ADC테스트 동영상 TMS320F28335 ADC초기화 함수 //ADC Initialize void AdcInit(void) { EALLOW; SysCtrlRegs.HISPCP.all = ADC_MODCLK; // HSPCLK = SYSCLKOUT/ADC_MODCLK EDIS; InitAdc(); // For this example, init the ADC // Specific ADC setu..
[FX2 EVM] UART 테스트 [FX2 EVM] UART 테스트 FX2에는 2개의 UART가 있다. 그냥 8051용 UART이므로 별 다른건 없는것 같다. [serial.c] 에 Rx, Tx 드라이버 함수만 수정하면 기존 코드를 그대로 사용할 수 있다. unsigned char U0_GetByte(void) { while (!RI); RI = 0; return SBUF0; } void U0_PutByte(unsigned char Data) { while (TI == 0) ; TI = 0 ; SBUF0 = Data ; } USB2UART에 연결하면 쉽게 디버깅 가능하다. FX2 Ez-USB Serial 테스트 프로그램 소스코드 void main(void) { int cnt = 0; SystemInit(); Led1Init(); Led1..
[TMS320F28069 EVM] UART 테스트 [TMS320F28069 EVM] UART 테스트 UART를 테스트 하기 위해 예제 코드를 수정해서 테스트했다. 기존 TMS320F2808 예제 소스코드와 거의 동일하기 때문에 특별히 수정할것이 없을것 같았는데... 컴파일까지는 에러없이 된다. 다운로드 후 테스트 해보니 UART로 아무런 데이터도 전송되지 않는다. 무엇때문일까? 예제 코드를 보니 TMS320F2808과 같은 구조이다.(거의 코드 수정없이 가능하다. 코드는 문제가 아니라는 것인데...) 그렇다면 큰 문제없어야 할텐데... 클럭이 다르긴 한데.. 클럭이 달라진다고 해도 보레이트만 달라질 뿐 뭐라도 날아와야 하는데.. 일단 TMS320F2806x에서 하드웨어 적으로 뭔가 달라진 것이 없는지 체크할 필요가 있다. 핀맵은 동일하고.. 내부 구조나..