不知道怎么了,网站10月初数据崩溃了,,这个帖子也没找回来,,没办法,智能再来一贴了,,,前面几贴简单介绍了入门,同时说明了如何使用mico的库来开发驱动程序,这节来讨论下mico的命令行功能CLI,由于mico并不是开源的,这意味着我们并不能在出现问题时,对源代码进行剖析,进而修改bug,不过mico提供的CLI是提供源代码的,在这里简单实现了cli的调用、自动补全等功能,功能简单但是很实用。
: H, u/ J* f2 n: a$ v: q( D 好了废话不多说了,来来来,,,咱们来开始研究,我们都知道mico的应用程序的入口是int applica
tion_start( void ),怎么不是main呢,,因为main由RTOS定义的。
" V/ T& K* @9 ? l2 m
2 G7 I! x b6 L @, s
+ a& i/ B& A0 e9 U3 k1 ^3 d 然后调用:
2 h/ E7 p6 \3 |! _* L/ |, ^! P. A+ c: g {/ \& ~' L4 @+ `/ ^
/* Start MiCO system functions according to mico_config.h*/
mico_system_init( mico_system_context_init( 0 ) );
9 S. B1 A- H* D& D8 o3 a! z0 s q! u" k4 e
4 |; |4 C( d" g: g: _* j 该函数初始化了非常多的配置,包括串口呀,一些驱动等等,当然也有CLI,
- k7 _* \7 E, h9 m& ^' a
3 x3 D: o% {6 k" B( M# U e V
- G1 Z; p% K" T' R 顺便说一下,我们的CLI可以使用宏来配置开启和关闭,宏定义在mico_config.h中。
M+ U1 l+ _( @* f0 P
* e4 R7 z. ]6 X4 C
8 s4 P8 e$ k; T 不愧是集成好的,,固件有这么大,,,,
& h; X3 ]% c9 P' x a
5 p1 p! P# C: I( J& U% F- L4 L' D+ g) z8 n! n. J
接下来启动后,就开始连串口了哦,我们使用115200波特率,记得关掉RTS,,,
4 q$ T+ m) e- o7 a
1 Q) ^/ O! L5 v: l
9 W( E5 i! l' V( V x v) c 来来来,看看我们有哪些命令,输入help。
6 { I% u, F0 u
; y3 P& I1 q( m" V: _2 Q' e3 n
2 D+ D0 @2 C9 g 这些都是内置的命令,然后运行几个看看,下面这个是查看当前的任务,机统计信息。
/ O, R- B6 k) w2 L4 q
& ?( [+ v; y/ a4 D8 k( W
6 C; I4 d. {) h: v4 M# i! U scan是进行AP热点扫描的。
4 s; p" P) S- O% e
7 |+ |* S6 {) g5 m4 D8 ?. ~
H% V* j) x4 q. K' A% G% S
好了,基本CLI就认识到这,下一次,我们进行CLI命令的扩展,多添加几个咱们自己定义的命令,这样充分发挥CLI的灵活性。
& \- Q% t7 `- b- G/ O; |
4 G' d5 w6 D- E) w: \6 ]) ?% t