芯源半导体CW32
直播中

卢表镜

8年用户 1109经验值
私信 关注
[经验]

CW32W031类Mesh通信工程的说明

1. 命令行工具使用
a. 例程自带了命令行工具,如需使用命令行工具,需要调用xcmd_init 函数,并且将输出字符和输入字
符的函数作为参数传递。
b. 在程序中需要调用持续调用xcmd_task 来保证工具的正常执行。
示例代码:

  • #include “xcmd.h”
  • int main()
  • {
  • xcmd_init(fgetc, fputc);
  • while(1)
  • xcmd_task();
  • }



2. 组网协议使用
a. 组网协议需要调用chirp_init 函数初始化协议栈。并且传入三个参数,分别是发送成功后需要执行的
回调函数,接收成功后需要执行的回调函数,毫秒级延时函数。
b. 文件chirp_networks.h 中的宏NET_RANDOM() 需要实现随机数生成函数。
c. 文件chirp_networks.h 中的宏CHECK_CAD() 需要实现GPIO11(PB07) 的电平检测函数。
d. 在程序中需要调用持续调用chirp_task 函数来保证协议栈正常执行。
e. 发送数据有两种方式,一种是调用chirp_send 函数直接发送。另一种是调用 chirp_set_send_flag 函
数设置标志后,由协议栈自动发送,此方式适合中断的方式。 发送是非阻塞式的,执行完会立即返回,
其结果会通过chirp_task 函数返回。
示例代码:


  • #include “chirp_networks.h”
  • #include “pan_err.h”
  • int main()
  • {
  • uint8_t data[10];
  • chirp_init(send_cb, recv_cb, delayms);
  • // 下面两个发送函数仅作示例演示,实际使用时不能同时调用 chirp_send(data, 10);
  • chirp_set_send_flag(1, data, 10)
  • while(1)
  • pan_err_t ret = chirp_task();
  • // 应用时可以根据ret 的返回值做业务逻辑
  • }


3. 日志组件使用
a. 日志组件支持打印日志级别设置,级别从高到低分别是ERROR, WARNING, INFO, DEBUG, TEMP。
b. 日志级别在pro_config.h 中设置
示例代码:


  • #include “userlog.h”
  • int main()
  • {
  • BASLOG(LOG_LEVEL_DEBUG, “hello worldn”);
  • }

更多回帖

发帖
×
20
完善资料,
赚取积分