|
RT,因为工作需要,最近在重写DM9000的驱动,用的是S3C6410,在wince6.0下。已经实现数据发送功能,但是数据接收却一直不成功。
具体是这样的,接收数据我用了中断,中断一到,通过判断中断状态位知道是接收中断,然后调用接收子程序。在接收子程序中,一开始做了
DM9000_ReadRegister(DM9K_MRCMDX); // Dummy read
rxByte =U16(v_pDM9KDATAregs->DM9000_DATA); // Got most updated data
// packet ready to receive check
if (rxByte != 0x01)
{
break;
}
这个rxByte读出来的应该是一个数据包的第一个字节,DM9000的手册上写着每个包的前面4个字节是一个头,分别
是01h,status,BYTE_COUNT low和BYTE_COUNT high 程序里通过判断第一个字节是否是01h决定下面接收数据,不
然就自动跳出了。可是我读这个rxByte值却发现这个值一直是0x15,不知道代表什么含义,麻烦有相关经验的兄弟姐妹
交流指导一下。
如果不通过中断自动调用接收程序,而是我手动的去调用接收程序的话,可以成功接收,第一个字节读出来的rxByte
也一直是01h.
|
|