进入透传模式后,发送 +++ 三个字符退出透传模式,发送时不能勾选换行符。
进入透传模式后,发送 +++ 三个字符退出透传模式,发送时不能勾选换行符。
W806 SDK用的就是模拟I2C可以参考。
配网已经实现好了,不需要修改。
/*****************************************************************************
*
* File Name : main.c
*
* Description: main
*
* Copyright (c) 2014 Winner Micro Electronic Design Co., Ltd.
* All rights reserved.
*
* Author : dave
*
* Date : 2014-6-14
*****************************************************************************/
#include "wm_include.h"
static OS_STK TaskStk1[512];
static OS_STK TaskStk2[512];
static void user_task1(void)
{
while(1)
{
printf("---> %s\r\n",__func__);
tls_os_time_delay(HZ);
}
}
static void user_task2(void)
{
while(1)
{
printf("---> %s\r\n",__func__);
tls_os_time_delay(HZ);
}
}
void UserMain(void)
{
printf("\n user task \n");
tls_os_task_create(NULL, "task1",
( void (*))user_task1,
NULL,
(void *)TaskStk1, /* task's stack start address */
sizeof(TaskStk1), /* task's stack size, unit:byte */
31,
0);
tls_os_task_create(NULL, "task2",
( void (*))user_task2,
NULL,
(void *)TaskStk2, /* task's stack start address */
sizeof(TaskStk2), /* task's stack size, unit:byte */
32,
0);
#if DEMO_CONSOLE
CreateDemoTask();
#endif
//用户自己的task
}
应该是通讯时序问题,可以用逻辑分析仪看下波形。
i2c通讯可以参考这个http://ask.winnermicro.com/question/58.html
淘宝官方店铺有售
[W80X/W60X 离线烧录板卡]
W801确实没有wakeup脚,没办法gpio唤醒,只能定时器唤醒,可以尝试定时器间歇性唤醒查询gpio口的引脚状态,来降低功耗。
printf(" ---> GetHeap:%d\n",tls_mem_get_avail_heapsize());
检查下你新建的任务有没有加延时函数
while(1)
{
tls_os_time_delay(HZ/1000)
}
建议用法
// 可以在网络状态回调函数中发送信号量
static void con_net_status_changed_event(u8 status )
{
switch(status)
{
case NETIF_WIFI_JOIN_SUCCESS:
printf("--->NETIF_WIFI_JOIN_SUCCESS\n");
break;
case NETIF_WIFI_JOIN_FAILED:
printf("--->NETIF_WIFI_JOIN_FAILED\n");
light_off(&led0);
break;
case NETIF_WIFI_DISCONNECTED:
printf("--->NETIF_WIFI_DISCONNECTED\n");
break;
case NETIF_IP_NET_UP:
{
struct tls_ethif *tmpethif = tls_netif_get_ethif();
print_ipaddr(&tmpethif->ip_addr);
#if TLS_CONFIG_IPV6
print_ipaddr(&tmpethif->ip6_addr[0]);
print_ipaddr(&tmpethif->ip6_addr[1]);
print_ipaddr(&tmpethif->ip6_addr[2]);
#endif
}
break;
default:
//printf("UNKONWN STATE:%d\n", status);
break;
}
}
void UserMain(void)
{
printf("\n user task \n");
u8 auto_reconnect = 0xff;
tls_wifi_auto_connect_flag(WIFI_AUTO_CNT_FLAG_GET, &auto_reconnect);
if(auto_reconnect != WIFI_AUTO_CNT_ON)
{
auto_reconnect = WIFI_AUTO_CNT_ON;
tls_wifi_auto_connect_flag(WIFI_AUTO_CNT_FLAG_SET, &auto_reconnect);
tls_wifi_connect((u8 *)"w600", strlen("w600"), (u8 *)"12345678", strlen("12345678"));
printf("--->WIFI_AUTO_CNT_FLAG_SET ON\n");
}
// 注册网络状态回调
tls_netif_add_status_event(con_net_status_changed_event);
#if DEMO_CONSOLE
CreateDemoTask();
#endif
//用户自己的task
}
airkiss微信已经没有在维护了,配网成功率不高,不建议使用。
不能运行指的是什么意思,建议通过串口0下载fls格式的固件试试。cklink下载的固件不包含secboot,如果芯片空片,没有通过串口烧录过fls固件,这时仅通过cklink烧录固件,是运行不起来的。
WIFI和BLE、BT和BLE可以共存,BT和WIFI不能共存,硬件无法实现。
AT指令AT+LKSTT可以查询。
问 W800 AT指令 未知问题 如何退出?