各位朋友:通过如下代码读到ALIVE寄存器的值是0,而实际值是1(后面有表述)- unsigned int MDIOPhyAliveStatusGet(unsigned int baseAddr)
- {
- unsigned int state=0;
- state=(HWREG(baseAddr + MDIO_ALIVE));
- printf("address=%x\n",baseAddr + MDIO_ALIVE);
- printf("state=%d\n",state);
- return state;
- }
设置断点,打印信息如下:
问题是:读到state的值是0,而查看寄存器和通过memory browser看到的值都是1,非常奇怪的问题,ALIVE寄存器的地址和手册对照了下,也没有什么问题。