在头文件中通过define配置选项,有一些地方不是很明白,如:
弱弱问一下,那些配置注释里的
还有个疑问,对于那些开关量的功能选项,如:
不用的话是注释掉还是#define * 0 ?ucos里的配置选项很简明,0代表不使能该选项,1代表使能,RTT的好多地方都不是很确定是通过0和1来选择,还是要注释掉
“
, , 分别代表什么意思?”
这是MDK图形化配置的特定标识描述符,对程序来讲,这些都是被注释掉的,无视之.
但在MDK里在,可以用图形化的界面来配置
“不用的话是注释掉还是#define * 0 ?”
如果是配0或1的话,那么原来应该是会是 #define RT_DEBUG 0
如果没有,那么就是注释掉.
不知道你用哪个终端,请检查你的终端是否有发出数据.
确认上一条后,检查板子是否有收到数据,
还是不行,进入调试状态,在USART中断中下断点,看看数据到底收到没有.
RT_FINSH例子中的代码都是测试过了的,而且FINSH只要串口就行了,所以,出问题的可能性不大的.
我板子用的是UART2,但是我把#define RT_USING_UART1改成2后,首先编译出错,在stm32f10x_it.c里少了DMA的头文件,加上后编译通过,但运行后终端显示
finsh: can not find device:uart1
是不是还有什么地方要配置?
顺便说下个人感觉,这个finsh比较有特色,但好像相关资料太少,介绍资料就简单说了下,连具体能接受什么命令都没说清楚。还有这个finsh功能实现机制怎样,怎样移植,需要什么操作系统支持等等,都没有说。不知道是我没找到,还是这方面资料本来就没有
不知道你用哪个终端,请检查你的终端是否有发出数据.
确认上一条后,检查板子是否有收到数据,
还是不行,进入调试状态,在USART中断中下断点,看看数据到底收到没有.RT_FINSH例子中的代码都是测试过了的,而且FINSH只要串口就行了,所以,出问题的可能性不大的.
不知道你的源代码是哪里取得的?
只是用来定义你需要把哪几个UART按RTT的设置来管理.
你可以同样使能N个UART
如果你想直接按原来的方法使用UART,暂不使用RTT的DEVICE方式,可以先不定义
定义哪个设备来挂接FINSH,应该是在startup.c里面line 110:
这里改为uart2
,不过目前,finsh的输出的还是通过rt_kprintf来输出的,所以你还得修改board.h line 43:
也改为UART2
1.建议你先找个有UART1的板子实验下,可以100%成功,先熟悉下后再换UART2
2.RTT以后,可能会把FINSH直接通过DEVICE的方式来输出,到时,直接改下finsh_set_device(“uart1”);就可以很方便的挂接到UART*甚至ETH上面…这样就方便了.
现在好了,原来在startup.c里默认调用的是finsh_set_device(“uart1”);
还是希望RTT能提供更详细的使用说明。
不知道你用哪个终端,请检查你的终端是否有发出数据.
确认上一条后,检查板子是否有收到数据,
还是不行,进入调试状态,在USART中断中下断点,看看数据到底收到没有.RT_FINSH例子中的代码都是测试过了的,而且FINSH只要串口就行了,所以,出问题的可能性不大的.
连具体能接受什么命令都没说清楚
好像FINSH原生的命令只有list()
其它的,都是自己实现的,具体的,还请bernard来回答了.
至于文档,那个<<编程指南>>里面的FINSH章节讲得还可以了,剩下的只是使用技巧的问题…