Hi,
I need to know that, if DAC8760 works in this coonfigurations:
I am using the most basic connection because I need to make a test. My microcontroller is MCF51EM NXP.
I want to use 4-20mA with 24VCC.
My code is:
void main(void){
/* Write your local variable definition here */
/*** Processor Expert internal initialization. DON'T REMOVE THIS CODE!!! ***/
PE_low_level_init();
/*** End of Processor Expert internal initialization. ***/
// Reset
MicroControlador_Delay100US(1);
ADRESS = 0x56;
BYTE_01 = 0b00000000;
BYTE_00 = 0b00000001;
SS_ClrVal();
MicroControlador_Delay100US(1);
SPI2_420mA_SendChar(ADRESS);
SPI2_420mA_SendChar(BYTE_01);
SPI2_420mA_SendChar(BYTE_00);
MicroControlador_Delay100US(1);
SS_SetVal();
MicroControlador_Delay100US(1);
SS_ClrVal();
// Nop
MicroControlador_Delay100US(1);
ADRESS = 0x00;
BYTE_01 = 0b00000000;
BYTE_00 = 0b00000000;
SS_ClrVal();
MicroControlador_Delay100US(1);
SPI2_420mA_SendChar(ADRESS);
SPI2_420mA_SendChar(BYTE_01);
SPI2_420mA_SendChar(BYTE_00);
MicroControlador_Delay100US(1);
SS_SetVal();
MicroControlador_Delay100US(1);
SS_ClrVal();
// Control Registros
MicroControlador_Delay100US(1);
ADRESS = 0x55;
BYTE_01 = 0b00010000;
BYTE_00 = 0b00000101;
SS_ClrVal();
MicroControlador_Delay100US(1);
SPI2_420mA_SendChar(ADRESS);
SPI2_420mA_SendChar(BYTE_01);
SPI2_420mA_SendChar(BYTE_00);
MicroControlador_Delay100US(1);
SS_SetVal();
MicroControlador_Delay100US(1);
SS_ClrVal();
// Configuration Registros
MicroControlador_Delay100US(1);
ADRESS = 0x57;
BYTE_01 = 0b00000000;
BYTE_00 = 0b00101000;
SS_ClrVal();
MicroControlador_Delay100US(1);
SPI2_420mA_SendChar(ADRESS);
SPI2_420mA_SendChar(BYTE_01);
SPI2_420mA_SendChar(BYTE_00);
MicroControlador_Delay100US(1);
SS_SetVal();
MicroControlador_Delay100US(1);
SS_ClrVal();
// Gain Calibration
MicroControlador_Delay100US(1);
ADRESS = 0x58;
BYTE_01 = 0b00000000;
BYTE_00 = 0b00000000;
SS_ClrVal();
MicroControlador_Delay100US(1);
SPI2_420mA_SendChar(ADRESS);
SPI2_420mA_SendChar(BYTE_01);
SPI2_420mA_SendChar(BYTE_00);
MicroControlador_Delay100US(1);
SS_SetVal();
MicroControlador_Delay100US(1);
SS_ClrVal();
// Zero Calibration
MicroControlador_Delay100US(1);
ADRESS = 0x59;
BYTE_01 = 0b00000000;
BYTE_00 = 0b00000000;
SS_ClrVal();
MicroControlador_Delay100US(1);
SPI2_420mA_SendChar(ADRESS);
SPI2_420mA_SendChar(BYTE_01);
SPI2_420mA_SendChar(BYTE_00);
MicroControlador_Delay100US(1);
SS_SetVal();
MicroControlador_Delay100US(1);
SS_ClrVal();
while (1){
// DAC Registros
MicroControlador_Delay100US(1);
ADRESS = 0x01;
BYTE_01 = 0b10101010;
BYTE_00 = 0b10101010;
SS_ClrVal();
MicroControlador_Delay100US(1);
SPI2_420mA_SendChar(ADRESS);
SPI2_420mA_SendChar(BYTE_01);
SPI2_420mA_SendChar(BYTE_00);
MicroControlador_Delay100US(1);
SS_SetVal();
MicroControlador_Delay100US(1);
SS_ClrVal();
}
//##################################################################################//
However, it doesn't work.
1 - The voltage in the pin 19 and 20 is always 0. Is it OK?
2 - The mA in the pin 19 is always 0. Is it OK?
3 - What do I do to works my circuit?
4 - What is the test to know if DAC is working?
Regards
