Receive Buff 관련 질문입니다.
volatile uint16_t Dummy = *SHADOW_RXWR_PTR(SocketNo); // Access Shadow Resister
wait_1us(2); // Delay Of Tx_Clk * 4
Head = ((uint32_t )*RX_WR_PTR(SocketNo, 0)<< 24) & 0xFF000000;
Head |= ((uint32_t )*RX_WR_PTR(SocketNo, 1)<< 16) & 0x00FF0000;
Head |= ((uint32_t )*RX_WR_PTR(SocketNo, 2)<< 8) & 0x0000FF00;
Head |= ((uint32_t )*RX_WR_PTR(SocketNo, 3)<< 0) & 0x000000FF;
printf("RX H : 0x%X – ", Head);
Dummy = *SHADOW_RXRD_PTR(SocketNo); // Access Shadow Resister
wait_1us(2); // Delay Of Tx_Clk * 4
Tail = ((uint32_t )*RX_RD_PTR(SocketNo, 0)<< 24) & 0xFF000000;
Tail |= ((uint32_t )*RX_RD_PTR(SocketNo, 1)<< 16) & 0x00FF0000;
Tail |= ((uint32_t )*RX_RD_PTR(SocketNo, 2)<< 8) & 0x0000FF00;
Tail |= ((uint32_t )*RX_RD_PTR(SocketNo, 3)<< 0) & 0x000000FF;
Code는 이렇게 사용하고 있습니다. 그런데 이 값들을 읽어보면 Datasheet상 주소 위치가 전혀 엉뚱한 값으로 읽어지는데
Base 주소인 0x6000 번지가 *RX_RD_PTR로 Return되는게 아닌가요?
아니라면 주소 설정 방법 알려주시기 바랍니다.
감사합니다.