UART_STATUS = UART_StringReceive(UARTx, &cRcvds); // <--- [2]
아래와 같이 수정해서 해보심 될듯 하네요//
UART_STATUS = UART_StringReceive(UARTx, cRcvds); // <--- [2]
아.. 버퍼 문제는요 매뉴얼상에 지원하는 함수가 없다면 직접 만드셔야 하겠지요. ^^
아마 receiver 함수에 해당하는 기능을 추가해야할 것 같습니다.
위 함수(receiver)의 소스를 수정할 수도 없다면 전부 새로 만들어야 할지도요..
>ARM7을 공부하고 있는 중인데요.
>아래 [1]번 처럼 해주면 컴파일에 문제가 없는데... [1]번 대신 [2]번을 쓰면
>컴파일 할 때 \"implicit cast of pointer to non-equal pointer\"라는 에러 메세
>지가 뜹니다. 메뉴얼에 나와 있는 예제대로 했는데 왜 이런 에러가 나는지 모
>르겠네요.
>
>그리고 전송된 data가 들어있는 버퍼를 읽기 전에 몇 개의 char가 저장되어
>있는지 알려면 어떻게 해야 하나요?
>
>궁금해서 미치겠습니다. 빠른 답변 .. 좀.... 부탁드립니다.
>수고하세요.
>
>
>int read_data()
>{
> unsigned char cRcvd;
> unsigned char cRcvds[10];
> int UART_STATUS;
>
> // Disable the Reception mode
> UART_RxConfig(UART0, DISABLE);
> while (!(UART_FlagStatus(UARTx) & UART_TxEmpty));
> UART_FifoReset(UARTx, UART_TxFIFO); // Reset the TxFIFO
> UART_RxConfig(UARTx, ENABLE); // Enable Rx
>
> //UART_STATUS = UART_DataReceive(UARTx, &cRcvd, 1, 0xFF); // <--- [1]
> UART_STATUS = UART_StringReceive(UARTx, &cRcvds); // <--- [2]
>
> UART_RxConfig(UARTx, DISABLE); // Disable Rx*/
> UART_STATUS = !(UART_STATUS & UART_TimeOutIdle);
>
> if (UART_STATUS)
> {
> .....
> }
>}
|