#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
//根据实际长度打印字符串,可进行一层封装
void virtual_debug(RxTx_t src,uint8_t *data,uint16_t len)
{
printf("%s %s",__DATE__,__TIME__);
if(src == usart_rx)
{
printf("rx:");
}
if(src == usart_tx)
{
printf("tx:");
}
for(uint8_t i=0;i<len;i++)
{
printf("%c",*data);
data++;
}
printf("rn");
}
#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("aaaarn");
EventStopB(1);
}
开始调试
原文地址:https://blog.csdn.net/oDuanYanGuHong/article/details/134599253
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_20300.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。