#include "SEGGER_RTT.h" #include "SEGGER_RTT_Conf.h" #include #include #include "my_headfile.h" #include "base_config.h" #include "HW_MCUIO.h" #include "gd32f30x_gpio.h" #include "gd32f30x_exti.h" ////write //#define HAL_GPIO_WritePin gpio_bit_write //#define GPIO_PIN_SET SET //#define GPIO_PIN_RESET RESET ////read //#define HAL_GPIO_ReadPin gpio_input_bit_get //// //#define HAL_GPIO_TogglePin gpio_bit_toggle unsigned int const dbg_io_port[] ={GPIOD,GPIOD,GPIOD,GPIOD }; unsigned int const dbg_io_pin[]={GPIO_PIN_11,GPIO_PIN_12,GPIO_PIN_13,GPIO_PIN_14}; #define DBG_IO_COUNT 4 static void debug_io__init(void) { HW_GPIO_InitTypeDef GPIO_InitStruct; for(unsigned char i=0;i>>", &ParamList); SEGGER_RTT_vprintf(0, sFormat, &ParamList); va_end(ParamList); } void user_printf_error(const char * sFormat, ...) { if(PRINT_DBG_ERROR ==0) return; va_list ParamList; va_start(ParamList, sFormat); SEGGER_RTT_vprintf(0, "<<<<-!ERROR!!ERROR!!!ERROR->>>", &ParamList); SEGGER_RTT_vprintf(0, sFormat, &ParamList); va_end(ParamList); } void _debug_init(void) { // SEGGER_RTT_Init(); //SEGGER_RTT_ConfigUpBuffer(0, NULL, NULL, 0, SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL); /* 配置通道0,上行配置(STM32->RTT Viewer软件) */ SEGGER_RTT_ConfigUpBuffer(0, "RTTUP", NULL, 0, SEGGER_RTT_MODE_NO_BLOCK_SKIP); /* 配置通道0,下行配置(RTT Viewer软件->STM32) */ SEGGER_RTT_ConfigDownBuffer(0, "RTTDOWN", NULL, 0, SEGGER_RTT_MODE_NO_BLOCK_SKIP); // //SEGGER_SYSVIEW_Conf(); debug_io__init(); } struct debug_STR my_debug={ .init = _debug_init, .ctrl_io = _debug_io_ctrl, .printf = _user_SEGGER_RTT_printf, .print_buf = _user_print_buf, .process_input = rx_rtt_process, .printf_warn = user_printf_warn, .printf_error =user_printf_error, }; unsigned int PRINT_DBG_CTRL =PRINT_DBG_CTRL_DEFAULT;//xffffffff;