/*! \file main.c \brief led spark with systick, USART print and key example \version 2024-02-22, V2.1.0, firmware for GD32E23x */ #include "main.h" #include #include "gd32e23x.h" #include "systick.h" #include "gd32e23x_libopt.h" #include "rs485.h" #include "led.h" #include "i2c.h" #include "ldc1612.h" #include "tmp112.h" uint32_t g_temperature_uint32; uint32_t g_eddy_current_value_uint32; /*! \brief main function \param[in] none \param[out] none \retval none */ int main(void) { setbuf(stdout, NULL); /* configure systick */ systick_config(); /* configure USART */ rs485_config(); /* configure LED */ led_config(); /* configure I2C */ i2c_gpio_config(); i2c_config(); // ldc1612_iic_get_sensor_infomation(); /* configure LDC1612 */ ldc1612_single_ch0_config(); while (1) { delay_ms(100); g_eddy_current_value_uint32 = 0; g_temperature_uint32 = 0; g_eddy_current_value_uint32 = ldc1612_get_raw_channel_result(CHANNEL_0); g_temperature_uint32 = tmp112a_get_raw_channel_result(); } } /* retarget the C library printf function to the USART */ int _write(int fd, char *pBuffer, int size) { for (int i = 0; i < size; i++) { usart_data_transmit(USART0, (uint8_t) pBuffer[i]); while (RESET == usart_flag_get(USART0, USART_FLAG_TBE)); } return size; }