设置方法如下:
添加初始化代码如下:
eventRecord.c
#include "eventRecord.h"
#include "usart.h"
extern UART_HandleTypeDef *pcControlUart;
/*
RecordEvent初始化
*/
void InitEventRecorder(void)
{
#ifdef RTE_Compiler_EventRecorder
EventRecorderInitialize(EventRecordAll, 1);
EventRecorderStart();
#endif
}
/**
* @brief printf打印重定向
USER_REAL_PORT 决定使用虚拟串口还是真实串口打印
*/
#ifdef USER_REAL_PORT
int fputc(int ch, FILE *f)
{
#if 1
HAL_UART_Transmit(pcControlUart, (uint8_t *)&ch,1,0x10);//使用真实串口打印
#endif
return ch;
}
#else
//使用虚拟串口打印,retarget_io.c有定义
#endif
eventRecord.h
#ifndef _EVENTRECORD_H
#define _EVENTRECORD_H
#include <stdio.h>
#include "EventRecorderConf.h"
#include "EventRecorder.h"
#include "RTE_Components.h"
void InitEventRecorder(void);
//#define USER_REAL_PORT
#endif
使用时,调用初始化函数InitEventRecorder()即可
测试函数如下:
void Test(void)
{
EventStartA(0);
UART_tx_IT(pcControlUart,"ack",3);
EventStopA(0);
EventStartB(1);
osDelay(1000);
printf("aaaa\r\n");
EventStopB(1);
}
开始调试
结果如下: