Hi,
I have a problem with writing to ADS7280 CMR. No matter what I write to the A/D converter I recieve both channels and eaven when I don't send the command Read data (1101b). Is there some special set up that I don't know about it. It is always sending same information eaven tough I write different commands to CMR. The only logical explanation is that I don't write appropriate.
This is the code:
unsigned int16 recieved=0;
output_low(sdo);
output_low(cs);
output_high(clk);
recieved=recieved|input(sdi);
output_low(clk);
recieved=recieved<<1;
output_high(clk);
recieved=recieved|input(sdi);
output_low(clk);
recieved=recieved<<1;
output_high(clk);
recieved=recieved|input(sdi);
output_low(clk);
recieved=recieved<<1;
output_high(sdo);
output_high(clk);
recieved=recieved|input(sdi);
output_low(clk);
recieved=recieved<<1;
//-------------send-0001b---------------------------------------//
output_low(sdo);
output_high(clk);
recieved=recieved|input(sdi);
output_low(clk);
recieved=recieved<<1;
output_high(clk);
recieved=recieved|input(sdi);
output_low(clk);
recieved=recieved<<1;
output_high(clk);
recieved=recieved|input(sdi);
output_low(clk);
recieved=recieved<<1;
output_high(clk);
recieved=recieved|input(sdi);
output_low(clk);
recieved=recieved<<1;
output_high(clk);
recieved=recieved|input(sdi);
output_low(clk);
recieved=recieved<<1;
output_high(clk);
recieved=recieved|input(sdi);
output_low(clk);
recieved=recieved<<1;
output_high(clk);
recieved=recieved|input(sdi);
output_low(clk);
recieved=recieved<<1;
output_high(clk);
recieved=recieved|input(sdi);
output_low(clk);
recieved=recieved<<1;
output_high(clk);
recieved=recieved|input(sdi);
output_low(clk);
recieved=recieved<<1;
output_high(clk);
recieved=recieved|input(sdi);
output_low(clk);
//-------------recieved-A/D-conversion-result-----------------//
output_high(clk);
tag=tag|input(sdi);
output_low(clk);
tag=tag<<1;
output_high(clk);
tag=tag|input(sdi);
output_low(clk);
tag=tag<<1;
output_high(clk);
tag=tag|input(sdi);
output_low(clk);
// tag=tag<<1;
//-------------TAG-bit-recieved---------------------------------//
output_high(clk);
zero=zero|input(sdi);
output_low(clk);
zero=zero<<1;
output_high(clk);
zero=zero|input(sdi);
output_low(clk);
zero=zero<<1;
output_high(clk);
zero=zero|input(sdi);
output_low(clk);
zero=zero<<1;
output_high(clk);
zero=zero|input(sdi);
output_low(clk);
zero=zero<<1;
output_high(clk);
zero=zero|input(sdi);
output_low(clk);
zero=zero<<1;
output_high(clk);
zero=zero|input(sdi);
output_low(clk);
zero=zero<<1;
output_high(clk);
zero=zero|input(sdi);
output_low(clk);
//-------------Recieved-7-zeros-from-A/D-------------//
output_high(cs);
return recieved;
Andrej (Slovenia).