Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
FinSH
rt_kprintf打印异常
发布于 2019-04-13 08:46:23 浏览:4045
订阅该版
如题,我有如下的简单测试代码 ```int main(void) { int count = 1; rt_kprintf("main entry.
"); //无法打印 // iap_thread_init(); /* set LED0 pin mode to output */ // rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT); while (count++) { rt_kprintf("main thread is runing....
"); //可以打印 rt_thread_mdelay(1000); // rt_pin_write(LED0_PIN, PIN_HIGH); // rt_thread_mdelay(500); // rt_pin_write(LED0_PIN, PIN_LOW); // rt_thread_mdelay(500); } return RT_EOK; }```只有while里的rt_kprintf()能打印出来 打印结果如下: ``` \ | / - RT - Thread Operating System / | \ 4.0.1 build Apr 12 2019 2006 - 2019 Copyright by rt-thread team ************All in or nothing**************** msh >main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... \ | / - RT - Thread Operating System / | \ 4.0.1 build Apr 12 2019 2006 - 2019 Copyright by rt-thread team ************All in or nothing**************** msh >main thread is runing.... main thread is runing.... \ | / - RT - Thread Operating System / | \ 4.0.1 build Apr 12 2019 2006 - 2019 Copyright by rt-thread team ************All in or nothing**************** msh >main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing.... main thread is runing....```我的rtconfig中关于shell的配置如下: ```/* Command shell */ #define RT_USING_FINSH #define FINSH_THREAD_NAME "tshell" #define FINSH_USING_HISTORY #define FINSH_HISTORY_LINES 5 #define FINSH_USING_SYMTAB #define FINSH_USING_DESCRIPTION #define FINSH_THREAD_PRIORITY 20 #define FINSH_THREAD_STACK_SIZE 4096 #define FINSH_CMD_SIZE 80 #define FINSH_USING_MSH #define FINSH_USING_MSH_DEFAULT #define FINSH_ARG_MAX 10```硬件使用的是STM32G071RB nucleo开发板,请教一下为啥会出现这样的情况?
查看更多
16
个回答
默认排序
按发布时间排序
我夏了夏天
认证专家
2019-04-13
Life isn't about finding yourself, life is about creating yourself.
把没法打印的那一行多复制几行出来打印,我猜你就是没编译
还没想好
2019-04-13
这家伙很懒,什么也没写!
从代码层面看,貌似没啥问题。可以单步调试,给出更多的信息,才好分析原因
静静流淌的柯溪
2019-04-13
这家伙很懒,什么也没写!
>把没法打印的那一行多复制几行出来打印,我猜你就是没编译 --- 复制了十几行依旧无法打印,我发现在rt_show_version到各个线程的while(1)这段期间的所有打印都没有输出。奇怪的很啊
静静流淌的柯溪
2019-04-13
这家伙很懒,什么也没写!
>麻烦验证一下4.0.0release是否可以打印呢?排除一下问题的可能,或者是自己修改哪部分代码造成的? ... --- 我在原来的bsp基础上修改了输出串口 将lpuart1改为了uart2 对应的IO口也做了更改,其他就是在rtconfig中开了一些其他功能。完整的rtconfig如下所示: ``` #ifndef RT_CONFIG_H__ #define RT_CONFIG_H__ /* Automatically generated file; DO NOT EDIT. */ /* RT-Thread Configuration */ /* RT-Thread Kernel */ #define RT_NAME_MAX 8 #define RT_ALIGN_SIZE 4 #define RT_THREAD_PRIORITY_32 #define RT_THREAD_PRIORITY_MAX 32 #define RT_TICK_PER_SECOND 100 #define RT_USING_OVERFLOW_CHECK #define RT_USING_HOOK #define RT_USING_IDLE_HOOK #define RT_IDEL_HOOK_LIST_SIZE 4 #define IDLE_THREAD_STACK_SIZE 256 #define RT_DEBUG #define RT_DEBUG_COLOR /* Inter-Thread communication */ #define RT_USING_SEMAPHORE #define RT_USING_MUTEX #define RT_USING_EVENT #define RT_USING_MAILBOX #define RT_USING_MESSAGEQUEUE /* Memory Management */ #define RT_USING_MEMPOOL #define RT_USING_MEMHEAP #define RT_USING_SMALL_MEM #define RT_USING_HEAP /* Kernel Device Object */ #define RT_USING_DEVICE #define RT_USING_CONSOLE #define RT_CONSOLEBUF_SIZE 128 #define RT_CONSOLE_DEVICE_NAME "uart2" #define RT_VER_NUM 0x40001 #define ARCH_ARM #define ARCH_ARM_CORTEX_M #define ARCH_ARM_CORTEX_M0 /* RT-Thread Components */ #define RT_USING_COMPONENTS_INIT #define RT_USING_USER_MAIN #define RT_MAIN_THREAD_STACK_SIZE 2048 #define RT_MAIN_THREAD_PRIORITY 10 /* C++ features */ /* Command shell */ #define RT_USING_FINSH #define FINSH_THREAD_NAME "tshell" #define FINSH_USING_HISTORY #define FINSH_HISTORY_LINES 5 #define FINSH_USING_SYMTAB #define FINSH_USING_DESCRIPTION #define FINSH_THREAD_PRIORITY 20 #define FINSH_THREAD_STACK_SIZE 4096 #define FINSH_CMD_SIZE 80 #define FINSH_USING_MSH #define FINSH_USING_MSH_DEFAULT #define FINSH_ARG_MAX 10 /* Device virtual file system */ /* Device Drivers */ #define RT_USING_DEVICE_IPC #define RT_PIPE_BUFSZ 512 #define RT_USING_SERIAL #define RT_SERIAL_RB_BUFSZ 64 #define RT_USING_PIN #define RT_USING_PM #define RT_USING_RTC #define RT_USING_ALARM #define RT_USING_SPI #define RT_USING_W25QXX /* Using WiFi */ /* Using USB */ /* POSIX layer and C standard library */ #define RT_USING_LIBC /* Network */ /* Socket abstraction layer */ /* light weight TCP/IP stack */ /* Modbus master and slave stack */ /* AT commands */ /* VBUS(Virtual Software BUS) */ /* Utilities */ #define RT_USING_LOGTRACE #define LOG_TRACE_MAX_SESSION 16 #define LOG_TRACE_USING_LEVEL_DEBUG #define LOG_TRACE_USING_MEMLOG #define RT_USING_ULOG #define ULOG_OUTPUT_LVL_D #define ULOG_OUTPUT_LVL 7 #define ULOG_USING_ISR_LOG #define ULOG_ASSERT_ENABLE #define ULOG_LINE_BUF_SIZE 128 /* log format */ #define ULOG_OUTPUT_FLOAT #define ULOG_USING_COLOR #define ULOG_OUTPUT_TIME //#define ULOG_TIME_USING_TIMESTAMP #define ULOG_OUTPUT_LEVEL #define ULOG_OUTPUT_TAG #define ULOG_OUTPUT_THREAD_NAME #define ULOG_BACKEND_USING_CONSOLE /* RT-Thread online packages */ /* IoT - internet of things */ /* Wi-Fi */ /* Marvell WiFi */ /* Wiced WiFi */ /* IoT Cloud */ /* security packages */ /* language packages */ /* multimedia packages */ /* tools packages */ /* system packages */ /* peripheral libraries and drivers */ /* miscellaneous packages */ /* sample package */ /* samples: kernel and components samples */ /* example package: hello */ #define SOC_FAMILY_STM32 #define SOC_SERIES_STM32G0 /* Hardware Drivers Config */ #define SOC_STM32G071RB /* Onboard Peripheral Drivers */ #define BSP_USING_USB_TO_USART /* On-chip Peripheral Drivers */ #define BSP_USING_GPIO #define BSP_USING_UART #define BSP_USING_LPUART1 #define BSP_USING_UART1 #define BSP_USING_UART2 #define BSP_USING_SPI #define BSP_USING_SPI1 //#define BSP_SPI1_TX_USING_DMA //#define BSP_SPI1_RX_USING_DMA /* Board extended module Drivers */ #endif ```
静静流淌的柯溪
2019-04-13
这家伙很懒,什么也没写!
>我在原来的bsp基础上修改了输出串口 将lpuart1改为了uart2 对应的IO口也做了更改,其他就是在rtconfig中 ... --- 没有改动直接编译的bsp是可以输出打印信息的。。。
静静流淌的柯溪
2019-04-13
这家伙很懒,什么也没写!
>从代码层面看,貌似没啥问题。可以单步调试,给出更多的信息,才好分析原因 ... --- 跟踪调试发现,在log_trace.c的log_trace_set_device中关闭了控制台,所以无log输出。 我屏蔽掉了这两行代码后,log输出正常了,但是感觉这么改不妥,不知道这里为啥要关闭控制台。附上改后的 log_trace_set_device的代码 ``` rt_err_t log_trace_set_device(const char *device_name) { struct rt_device *output_device; /* find out output device */ output_device = rt_device_find(device_name); if (output_device != RT_NULL) { rt_err_t result; /* open device */ result = rt_device_open(output_device, RT_DEVICE_FLAG_STREAM | RT_DEVICE_OFLAG_RDWR); if (result != RT_EOK) { rt_kprintf("Open trace device failed.\n"); return -RT_ERROR; } } /* set trace out device */ //修改:屏蔽这两行代码后打印正常。。。 不清楚这里代码的作用 // if (_traceout_device != RT_NULL) // rt_device_close(_traceout_device); _traceout_device = output_device; return RT_EOK; } ```
静静流淌的柯溪
2019-04-15
这家伙很懒,什么也没写!
>把没法打印的那一行多复制几行出来打印,我猜你就是没编译 --- summer大神帮忙看下呗
我夏了夏天
认证专家
2019-04-15
Life isn't about finding yourself, life is about creating yourself.
>summer大神帮忙看下呗 --- 我找 BSP 的提供者给你看一下
Skiars
2019-04-15
这家伙很懒,什么也没写!
你不开 logtrace 的话正不正常呢?
静静流淌的柯溪
2019-04-16
这家伙很懒,什么也没写!
>你不开 logtrace 的话正不正常呢? --- 不开logtrace是OK的 问题就在log tarce的init中关闭了控制台 另:lpuart1的串口波特率不能配置为9600 请帮忙一并看下 感谢!
撰写答案
登录
注册新账号
关注者
0
被浏览
4k
关于作者
静静流淌的柯溪
这家伙很懒,什么也没写!
提问
10
回答
36
被采纳
1
关注TA
发私信
相关问题
1
RT-THREAD shell无反应呢?
2
RT-thread2.0beta下用类似linux风格MSH,参数如何输入和导出
3
rt-thread finsh windows下的那个终端软件叫什么来着
4
板子上只有485接口,能把FINSH改造成485的么?
5
finsh最大字符问题
6
finsh命令个数是不是有限制啊
7
finsh支持转义字符吗
8
不用finsh如何知道堆栈使用量
9
强烈建议 RT-Thread下finsh原理深入分析
10
finsh输入命令全部返回null node
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
RT-Smart首次线下培训,锁定2024 RT-Thread开发者大会!
2
使用RC522软件包驱动FM1722
3
常量数据类型和表达式陷阱分享
4
进行i2c驱动移植的经验总结
5
在VSCode中使用clang-format
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
freemodbus
PWM
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
xiaorui
1
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部