完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如题,请问在ESP8266_RTOS_SDK中应该怎么把ESP_LOGI重定向到UART1?
在Esp_log.h文件中找到 /** * @brief Set function used to output log entries * * By default, log output goes to UART0. This function can be used to redirect log * output to some other destination, such as file or network. Returns the original * log handler, which may be necessary to return output to the previous destination. * * @param func new Function used for output. Must have same signature as putchar. * * @return func old Function used for output. */ putchar_like_t esp_log_set_putchar(putchar_like_t func); 去检索API文档却没找到该函数,不知道该如何使用 |
|
相关推荐
1个回答
|
|
在ESP8266_RTOS_SDK中,要将ESP_LOGI重定向到UART1,您需要按照以下步骤操作:
1. 首先,您需要在项目中包含`esp_log.h`头文件。如果尚未包含,请在源文件中添加以下代码: ```c #include "esp_log.h" ``` 2. 接下来,您需要创建一个新的函数,该函数将用于将日志信息发送到UART1。以下是一个示例函数,您可以根据您的需求进行修改: ```c #include "esp8266.h" static void log_to_uart1(const char *msg) { uart_tx_one_char(UART1, *msg); } ``` 3. 现在,您需要在项目中找到`esp_log_set_vprintf`函数的调用位置。这个函数用于设置日志输出函数。如果找不到,请在`app_main`函数中添加以下代码: ```c void app_main() { // 其他初始化代码... // 设置日志输出函数为log_to_uart1 void (*original_log_handler)(const char *) = esp_log_set_vprintf(&log_to_uart1); } ``` 4. 如果您需要在某个时刻将日志输出重定向回UART0,您可以使用`original_log_handler`变量。例如: ```c // 将日志输出重定向回UART0 esp_log_set_vprintf(original_log_handler); ``` 5. 最后,您可以在代码中使用`ESP_LOGI`宏来输出日志信息。例如: ```c ESP_LOGI(TAG, "This is an info log message"); ``` 通过以上步骤,您应该已经成功地将ESP_LOGI重定向到UART1。请注意,这只是一个示例,您可能需要根据您的项目需求进行适当的调整。 |
|
|
|
只有小组成员才能发言,加入小组>>
1002 浏览 1 评论
554浏览 6评论
463浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
447浏览 5评论
448浏览 4评论
422浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 03:11 , Processed in 1.120128 second(s), Total 80, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号