stm32-integration-with-max31856-thermocouple-converter

by Marwen Maghrebi
#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 */
}
Are you sure want to unlock this post?
Unlock left : 0
Are you sure want to cancel subscription?
-
00:00
00:00
Update Required Flash plugin
-
00:00
00:00