在源码中找了一圈找到下面截图里边的内容,但是源码没有说明调用哪个函数输出和接收数据。论坛上都是信号量互斥锁线程的内容,最基本的串口使用都没有。哪位片子上跑着RTT用过串口的麻烦给说一下。
// <bool name="RT_USING_SERIAL" description="Using Serial" default="true" />
#define RT_USING_SERIAL
/* SECTION: Console options */
#define RT_USING_CONSOLE
/* the buffer size of console*/
#define RT_CONSOLEBUF_SIZE 128
// <string name="RT_CONSOLE_DEVICE_NAME" description="The device name for console" default="uart1" />
#define RT_CONSOLE_DEVICE_NAME "uart1" //使用串口1作为控制台输出,board.h中要使能串口1
/* SECTION: finsh, a C-Express shell */
#define RT_USING_FINSH
/* Using symbol table */
#define FINSH_USING_SYMTAB
#define FINSH_USING_DESCRIPTION
你可以看看你的工程里我截图的最后那个rt_hw_console_output函数是不是为空,如果是空的话是不是别的地方对rt_kprintf()有新的define或者新的实现。按照代码追过去rt_hw_console_output函数是空的。函数前边有个weak 可能其他地方有新的实现。
感谢,那改完之后调用哪个函数输出信息? 并且函数的参数是什么呢?
gdbserver 什么东西?
你对linux也有研究? 也就是说我需要自己写函数打开串口1,然后写数据,写完再关闭?
rt_kprintf和printf一样使用,就是不能输出浮点
我追了一下rt_kprint 的代码发现最后输出是空,内容是自己填写吗?
第三张图说明_console_device == RT_NULL,第四张图是rt_hw_console_output(rt_log_buf)函数的原型显示内容是空,输出不了内容。
jlink里的工具软件全称: J-Link GDB Server
没有结果
rt_kprintf("可见卫星数:%d\r\n",gps_raw_int.satellites_visible);
就这样使用