Hello
I am currently writing some low level code for interfacing the
LPC2124 to a CS8900A (it is an Olimex LPC2124 board). I am basing my
code around that on the Rowley Associates website. There are no
problems initialising the CS8900 and I can even read its EISA company
ID correctly. The problem comes when I poll the CS8900 to see if a
frame is waiting. My initial code used the RxEvent (0x0124) register ..
cs8900a_write(ADD_PORT,PP_RxEvent);
u=cs8900a_read_addr_high_first(DATA_PORT);
(where DATA_PORT is 0x0c)
this works fine. But when I tried to read the RXLength (0x402) word
I just received garbage. So to try and diagnose this I thought I
would try and read the RxStatus (0x400) word which according to the
datasheet should be the same as the RxEvent word. But when I tried the
code ..
cs8900a_write(ADD_PORT,PP_RxStatus);
u=cs8900a_read_addr_high_first(DATA_PORT);
I again get garbage and a result different to that contained in
Rx_Event.
Can anyone tell me where I'm going wrong here ? Its very odd how I
can read data from some locations but not others.
Regards
IanMessage
CS8900A question
2005-07-11 by Ian Wraith
Attachments
- No local attachments were found for this message.