672
#include "main.h" #include "Max31856.h" #include<stdio.h> #include<string.h> /* Private variables ---------------------------------------------------------*/ SPI_HandleTypeDef hspi1; UART_HandleTypeDef huart1; /* Private function prototypes -----------------------------------------------*/ void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_SPI1_Init(void); static void MX_USART1_UART_Init(void); int main(void) { /* USER CODE BEGIN 1 */ char MSG[100]; char MSG0[100]; char MSG1[100]="Could not initialize thermocouple\n\r"; char MSG3[100]="$$***************************************$$\n\r"; char MSG2[100]="Thermocouple type: "; char MSG4[100]= "B Type\n\r"; char MSG5[100]= "E Type\n\r"; char MSG6[100]= "J Type\n\r"; char MSG7[100]= "K Type\n\r"; char MSG8[100]= "N Type\n\r"; char MSG9[100]= "R Type\n\r"; char MSG10[100]= "S Type\n\r"; char MSG11[100]= "T Type\n\r"; char MSG12[100]= "Voltage x8 Gain mode\n\r"; char MSG13[100]= "Voltage x8 Gain mode\n\r"; char MSG14[100]= "Unknown\n\r"; char MSG15[100]= "Cold Junction Range Fault\n\r"; char MSG16[100]= "Thermocouple Range Fault\n\r"; char MSG17[100]= "Cold Junction High Fault\n\r"; char MSG18[100]= "Cold Junction Low Fault\n\r"; char MSG19[100]= "Thermocouple High Fault\n\r"; char MSG20[100]= "Thermocouple Low Fault\n\r"; char MSG21[100]= "Over/Under Voltage Fault\n\r"; char MSG22[100]= "hermocouple Open Faultn\r"; HAL_Init(); SystemClock_Config(); MX_GPIO_Init() MX_SPI1_Init(); MX_USART1_UART_Init(); /* USER CODE BEGIN 2 */ if (!begin()) { HAL_UART_Transmit(&huart1,(uint8_t*)MSG1,sizeof(MSG1), 100); while (1) HAL_Delay(10); } setThermocoupleType(MAX31856_TCTYPE_K); HAL_UART_Transmit(&huart1,(uint8_t*)MSG2,sizeof(MSG2), 100); switch (getThermocoupleType() ) { case MAX31856_TCTYPE_B: HAL_UART_Transmit(&huart1,(uint8_t*)MSG4,sizeof(MSG4), 100); break; case MAX31856_TCTYPE_E: HAL_UART_Transmit(&huart1,(uint8_t*)MSG5,sizeof(MSG5), 100); break; case MAX31856_TCTYPE_J: HAL_UART_Transmit(&huart1,(uint8_t*)MSG6,sizeof(MSG6), 100); break; case MAX31856_TCTYPE_K: HAL_UART_Transmit(&huart1,(uint8_t*)MSG7,sizeof(MSG7), 100); break; case MAX31856_TCTYPE_N: HAL_UART_Transmit(&huart1,(uint8_t*)MSG8,sizeof(MSG8), 100); break; case MAX31856_TCTYPE_R: HAL_UART_Transmit(&huart1,(uint8_t*)MSG9,sizeof(MSG9), 100); break; case MAX31856_TCTYPE_S: HAL_UART_Transmit(&huart1,(uint8_t*)MSG10,sizeof(MSG10), 100); break; case MAX31856_TCTYPE_T: HAL_UART_Transmit(&huart1,(uint8_t*)MSG11,sizeof(MSG11), 100); break; case MAX31856_VMODE_G8: HAL_UART_Transmit(&huart1,(uint8_t*)MSG12,sizeof(MSG12), 100); break; case MAX31856_VMODE_G32:HAL_UART_Transmit(&huart1,(uint8_t*)MSG13,sizeof(MSG13), 100); break; default: HAL_UART_Transmit(&huart1,(uint8_t*)MSG14,sizeof(MSG14), 100);break; } HAL_Delay(2000); /* USER CODE END 2 */ while (1) { sprintf(MSG,"1-Cold Junction Temp: %.2f degrees Celsius\n\r",readCJTemperature()); sprintf(MSG0,"2-Thermocouple Temp: %.2f degrees Celsius\n\r", readThermocoupleTemperature()); HAL_UART_Transmit(&huart1,(uint8_t *) MSG, sizeof(MSG), 100); HAL_UART_Transmit(&huart1,(uint8_t *) MSG0, sizeof(MSG0), 100); HAL_UART_Transmit(&huart1,(uint8_t *) MSG3, sizeof(MSG3), 100); uint8_t fault = readFault(); if (fault) { if (fault & MAX31856_FAULT_CJRANGE) HAL_UART_Transmit(&huart1,(uint8_t*)MSG15,sizeof(MSG15), 100); if (fault & MAX31856_FAULT_TCRANGE) HAL_UART_Transmit(&huart1,(uint8_t*)MSG16,sizeof(MSG16), 100); if (fault & MAX31856_FAULT_CJHIGH) HAL_UART_Transmit(&huart1,(uint8_t*)MSG17,sizeof(MSG17), 100); if (fault & MAX31856_FAULT_CJLOW) HAL_UART_Transmit(&huart1,(uint8_t*)MSG18,sizeof(MSG18), 100); if (fault & MAX31856_FAULT_TCHIGH) HAL_UART_Transmit(&huart1,(uint8_t*)MSG19,sizeof(MSG19), 100); if (fault & MAX31856_FAULT_TCLOW) HAL_UART_Transmit(&huart1,(uint8_t*)MSG20,sizeof(MSG20), 100); if (fault & MAX31856_FAULT_OVUV) HAL_UART_Transmit(&huart1,(uint8_t*)MSG21,sizeof(MSG21), 100); if (fault & MAX31856_FAULT_OPEN) HAL_UART_Transmit(&huart1,(uint8_t*)MSG22,sizeof(MSG22), 100); } HAL_UART_Transmit(&huart1,(uint8_t *) MSG, sizeof(MSG), 100); HAL_Delay(1000); } /* USER CODE END 3 */ }