2019年12月更新说明 - notrynohigh/BabyOS GitHub Wiki

使用说明

FIFO

FIFO 功能模块提供了一组 API 按照 FIFO 的特性去操作一块内存。

先定义 FIFO 实例,指定 buf 和 buf 的大小:

bFIFO_INSTANCE(name, _pbuf, _size)

根据实例可以调用如下几个 API 完成 FIFO 的操作:

int bFIFO_Length(bFIFO_Instance_t *pFIFO_Instance,

uint16_t *plen);

int bFIFO_Flush(bFIFO_Instance_t *pFIFO_Instance);

int bFIFO_Write(bFIFO_Instance_t *pFIFO_Instance,

uint8_t *pbuf,

uint16_t size);

int bFIFO_Read(bFIFO_Instance_t *pFIFO_Instance,

uint8_t *pbuf,

uint16_t size);

Lunar calendar

提供 API 给用户使用,传入阳历的年月日得到阴历信息。

int bSolar2Lunar(uint16_t syear,

uint8_t smonth,

uint8_t sday,

bLunarInfo_t *plunar);

Nr_micro_shell

Shell 功能模块是基于第三方代码完成。首先在配置文件中使能。

定义实例,指定指令名和处理函数:

bSHELL_INSTANCE(instance_name, cmd_name, cmd_handler)

BabyOS 中的 b_mod_param 是基于 b_mod_shell 实现的调试参数的功能,对

shell 的使用可以参考 b_mod_param 部分的代码。

定义实例后再注册实例,主要是将它放入功能模块里的链表。

int bShellRegistCmd(bShellInstance_t *pbShellInstance);

当串口收到数据后将数据给 Shell 解析,使用如下 API:

int bShellParse(uint8_t *pbuf, uint16_t len);