PTS &= ~PTS3_msk; //clear pin3 of port S to select SPI for the first MAX5250
// ????
SPI_Data_HIGH_Tmp = (unsigned char)(0x30 + ((Current1_uc &0xF0) >>4));
SPI_Data_LOW_Tmp = (unsigned char)((Current1_uc &0x3F) <<4);
SPI0DR = SPI_Data_HIGH_Tmp; // send the High byte data of SPI Data
while(!(SPI0SR &SPTEF0_msk)); //wait till data transfer finish
while(!(SPI0SR &SPIF0_msk ));
SPI_Data_HIGH_Tmp = SPI0DR;
SPI0DR = SPI_Data_LOW_Tmp; // send the Low byte data of SPI Data
while(!(SPI0SR &SPTEF0_msk )); //wait till data transfer finish
while(!(SPI0SR &SPIF0_msk ));
SPI_Data_LOW_Tmp = SPI0DR;
PTS |= PTS3_msk; //disable the Max5250
Using the osilliscope, I can check the SCLK and MOSI wave is correct. And the Data in MOSI is exactly what I sent.But I can get the analog voltage output, Does anybody know the reason? Thanks in advance!
Albert
Message Edited by bigmac on 2007-04-2602:00 PM
PTS &= ~PTS3_msk; //clear pin3 of port S to select SPI for MAX5250
// DAC A
SPI_Data_HIGH_Tmp = (unsigned char)(0x30 + ((Current1_uc &0xF0) >>4));
SPI_Data_LOW_Tmp = (unsigned char)((Current1_uc &0x3F) <<4);
SPI0DR = SPI_Data_HIGH_Tmp; // send the High byte data of SPI Data
while(!(SPI0SR &SPTEF0_msk)); //wait till data transfer finish
while(!(SPI0SR &SPIF0_msk ));
SPI_Data_HIGH_Tmp = SPI0DR;
SPI0DR = SPI_Data_LOW_Tmp; // send the Low byte data of SPI Data
while(!(SPI0SR &SPTEF0_msk )); //wait till data transfer finish
while(!(SPI0SR &SPIF0_msk )); SPI_Data_LOW_Tmp = SPI0DR;
// DAC B
SPI_Data_HIGH_Tmp = (unsigned char)(0x70 + ((Current2_uc &0xF0) >>4));
SPI_Data_LOW_Tmp = (unsigned char)((Current2_uc &0x3F) <<4);
SPI0DR = SPI_Data_HIGH_Tmp; // send the High byte data of SPI Data
while(!(SPI0SR &SPTEF0_msk)); //wait till data transfer finish
while(!(SPI0SR &SPIF0_msk ));
SPI_Data_HIGH_Tmp = SPI0DR;
SPI0DR = SPI_Data_LOW_Tmp; // send the Low byte data of SPI Data
while(!(SPI0SR &SPTEF0_msk )); //wait till data transfer finish
while(!(SPI0SR &SPIF0_msk ));
SPI_Data_LOW_Tmp = SPI0DR;
PTS |= PTS3_msk; //SET pin3 of port S to deselect SPI for the first MAX5250
But it only DAC B have the output voltage, DAC A remains Zero. Any Ideas?
Big Thanks!
Albert
Regards,
Mac
Message Edited by bigmac on 2007-04-2706:26 AM
Message Edited by rocco on 2007-04-2603:54 PM
Message Edited by rocco on 2007-04-2608:20 PM
Message Edited by rocco on 2007-04-2505:33 PM