进入透传模式后, 发送 +++ 三个字符退出透传模式, 发送时不能勾选换行符.
进入透传模式后, 发送 +++ 三个字符退出透传模式, 发送时不能勾选换行符.
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 指令 未知问题 如何退出?