도와주세요!!
글 수 15,339
2007.08.02 16:54:23 (*.118.69.181)
6690
EZ-X5 보드를 minicom으로 연결해서(STUART) 부팅이 된 이후에 EZBOOT의 소스를 사용해서
FFUART를 사용하고자 Serial.c에 있는 아래 소스를 사용해서 시리얼이 송신되는것을 확인했습니다.
그런데 FFUART를 켜니 STUART가 죽어버리는 현상과, FFUART의 TXD(수신부)가 죽어버리는 현상이 생겼습니다..
사용한 함수는 SerialInit과 Serial.c에 있는SerialOutChar()와 gets_his()를 통해 송신/수신을 수행하였습니다.
무엇이 문제인 걸까요? ;;
고수님의 고견 부탁드립니다..
void SerialInit(eBauds baudrate)
{
Word Temp;
volatile Word *ClockEnableRegister = (volatile Word *)CKEN;
UART = (volatile Word *) FFUART; // 레지스터 베이스 포인터를 변경한다.
*ClockEnableRegister |= CKEN_FFUART;
set_GPIO_mode( GPIO34_FFRXD_MD );
set_GPIO_mode( GPIO39_FFTXD_MD );
// 모든 인터럽트를 금지 시킨다.
UART_IER = 0;
// FIFO 를 정리한다.
UART_FCR = 7;
UART_FCR = 1;
// baud, 8BIT 1STOP NO PARITY 로 설정한다.
UART_LCR = (LCR_WLS1|LCR_WLS0|LCR_DLAB);
UART_DLL = baudrate;
UART_DLH = 0x00;
UART_LCR = (LCR_WLS1|LCR_WLS0);
// UART를 동작 시킨다.
UART_IER = IER_UUE;
}
FFUART를 사용하고자 Serial.c에 있는 아래 소스를 사용해서 시리얼이 송신되는것을 확인했습니다.
그런데 FFUART를 켜니 STUART가 죽어버리는 현상과, FFUART의 TXD(수신부)가 죽어버리는 현상이 생겼습니다..
사용한 함수는 SerialInit과 Serial.c에 있는SerialOutChar()와 gets_his()를 통해 송신/수신을 수행하였습니다.
무엇이 문제인 걸까요? ;;
고수님의 고견 부탁드립니다..
void SerialInit(eBauds baudrate)
{
Word Temp;
volatile Word *ClockEnableRegister = (volatile Word *)CKEN;
UART = (volatile Word *) FFUART; // 레지스터 베이스 포인터를 변경한다.
*ClockEnableRegister |= CKEN_FFUART;
set_GPIO_mode( GPIO34_FFRXD_MD );
set_GPIO_mode( GPIO39_FFTXD_MD );
// 모든 인터럽트를 금지 시킨다.
UART_IER = 0;
// FIFO 를 정리한다.
UART_FCR = 7;
UART_FCR = 1;
// baud, 8BIT 1STOP NO PARITY 로 설정한다.
UART_LCR = (LCR_WLS1|LCR_WLS0|LCR_DLAB);
UART_DLL = baudrate;
UART_DLH = 0x00;
UART_LCR = (LCR_WLS1|LCR_WLS0);
// UART를 동작 시킨다.
UART_IER = IER_UUE;
}