#include "project.h" #include "DAC8760.h" #include "MAX7219BB.h" #include "stdio.h" static int reg_dat; static int control_reg,config_reg,gain_reg,offset_reg; int main(void) { int alarm_status=0; uint8 checkbit; char str[24]; control_reg=RANGE_0to10V | EXT_RES_Enable | OUTPUT_Enable; config_reg=Alternate_Power_Down | DUALOUTPUT_Enable | IOUT_RANGE_DUAL_Enable_0to20mA ; gain_reg=0; CyGlobalIntEnable; SPI_DAC8760_Initialise(control_reg,config_reg,gain_reg,offset_reg); SPI_DAC8760_Write_Data_Register(0); CyDelay(1000); UART_1_Start(); for(;;) { // alarm_status=SPI_DAC8760_Read_Address(READ_CONTROL); // CyDelay(1000); // SPI_DAC8760_Write_Data_Register(0); CyDelayUs(200); alarm_status=SPI_DAC8760_Read_Address(READ_STATUS); switch(alarm_status) { case 1: UART_1_UartPutString("\r\nTemperature is high...\r\n"); break; case 2: UART_1_UartPutString("\r\nSlew Rate Error...\r\n"); break; case 4: UART_1_UartPutString("\r\nIOUT or Compliance Volt Violate...\r\n"); break; case 8: UART_1_UartPutString("\r\nWatch Dog Timer Error...\r\n"); break; case 16: UART_1_UartPutString("\r\nCRC Error...\r\n"); break; default: UART_1_UartPutString("\r\nNo Error.....\r\n"); } CyDelay(3000); SPI_DAC8760_Write_Data_Register(16383); /// DAC Data Register CyDelayUs(200); alarm_status=SPI_DAC8760_Read_Address(READ_STATUS); switch(alarm_status) { case 1: UART_1_UartPutString("\r\nTemperature is high...\r\n"); break; case 2: UART_1_UartPutString("\r\nSlew Rate Error...\r\n"); break; case 4: UART_1_UartPutString("\r\nIOUT or Compliance Volt Violate...\r\n"); break; case 8: UART_1_UartPutString("\r\nWatch Dog Timer Error...\r\n"); break; case 16: UART_1_UartPutString("\r\nCRC Error...\r\n"); break; default: UART_1_UartPutString("\r\nNo Error.....\r\n"); } UART_1_UartPutString("\r\n"); CyDelay(3000); SPI_DAC8760_Write_Data_Register(32767);/// DAC Data Register CyDelayUs(200); alarm_status=SPI_DAC8760_Read_Address(READ_STATUS); switch(alarm_status) { case 1: UART_1_UartPutString("\r\nTemperature is high...\r\n"); break; case 2: UART_1_UartPutString("\r\nSlew Rate Error...\r\n"); break; case 4: UART_1_UartPutString("\r\nIOUT or Compliance Volt Violate...\r\n"); break; case 8: UART_1_UartPutString("\r\nWatch Dog Timer Error...\r\n"); break; case 16: UART_1_UartPutString("\r\nCRC Error...\r\n"); break; default: UART_1_UartPutString("\r\nNo Error.....\r\n"); } UART_1_UartPutString("\r\n"); CyDelay(3000); SPI_DAC8760_Write_Data_Register(49150); /// DAC Data Register CyDelayUs(200); alarm_status=SPI_DAC8760_Read_Address(READ_STATUS); switch(alarm_status) { case 1: UART_1_UartPutString("\r\nTemperature is high...\r\n"); break; case 2: UART_1_UartPutString("\r\nSlew Rate Error...\r\n"); break; case 4: UART_1_UartPutString("\r\nIOUT or Compliance Volt Violate...\r\n"); break; case 8: UART_1_UartPutString("\r\nWatch Dog Timer Error...\r\n"); break; case 16: UART_1_UartPutString("\r\nCRC Error...\r\n"); break; default: UART_1_UartPutString("\r\nNo Error.....\r\n"); } UART_1_UartPutString("\r\n"); CyDelay(3000); SPI_DAC8760_Write_Data_Register(65535); /// DAC Data Register CyDelayUs(200); alarm_status=SPI_DAC8760_Read_Address(READ_STATUS); switch(alarm_status) { case 1: UART_1_UartPutString("\r\nTemperature is high...\r\n"); break; case 2: UART_1_UartPutString("\r\nSlew Rate Error...\r\n"); break; case 4: UART_1_UartPutString("\r\nIOUT or Compliance Volt Violate...\r\n"); break; case 8: UART_1_UartPutString("\r\nWatch Dog Timer Error...\r\n"); break; case 16: UART_1_UartPutString("\r\nCRC Error...\r\n"); break; default: UART_1_UartPutString("\r\nNo Error.....\r\n"); } UART_1_UartPutString("\r\n"); CyDelay(3000); } }