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);