- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
in an Ethernet program developed by IDE
I do a test , writing: IOWR ( DM9000A_Base, 1, data); tmp=IORD ( DM9000A_Base ,1); Should not the tmp be the same with the data? the result is not , and whatever data is , the result tmp=ff00, will anyone tell me why?Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It looks like you are trying to write to the DM900A ethernet chip status register, which is read-only (writing to it only clears status bits). A quick glance at the data sheet shows register 1 (the offset in your IOWR statement) is 00h at reset, so this is why you read 00h in the lower 8 bits. Upper bits are undefined if you are reading a byte.
Hope this helps. Tim
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page