代码拉取完成,页面将自动刷新
在 hi_wifi_csi_api.h
这个头文件夹下面有这样一个结构体:hi_wifi_csi_entry
这个结构体里面有mac地址的数组,但是这个mac地址数组的长度只有6个!!!!
明明最少17个字符,但是作为字符串最后的'\0',我们得加上,所以整个的长度实际上应该是有18个,
然后我设置成18个之后,下面的这个csi的初始化函数不通过:
int csi_init(hi_void)
{
printf("CSI init start!\r\n");
int ret = hi_wifi_csi_register_data_recv_func(at_hi_wifi_csi_cb);
if(ret != HI_ERR_SUCCESS){
printf("register csi callback function error!\r\n");
return 0;
}
char ifname[] = "wlan0"; /* STA */
unsigned int interval = 100; /* report interval:100ms */
hi_wifi_csi_entry csi_entry = {"08:10:7B:E6:92:45", 7, 12}; /* mac need change to ap's mac */
if(hi_wifi_csi_set_config(ifname, interval, &csi_entry, 1) != 0) {
printf("set csi config failed.\r\n");
return -1;
}
hi_wifi_csi_start();
printf("start csi monitoring!\r\n");
return 0;
}
这个函数直接的输出“set csi config failed”
这个长度理论一改就报错。