作为一个小白之中的小白,以前用STC15的单片机做过几个小东西,最近准备做点复杂的,带WIFI的,所以就看上了W801,都说是个坑,却偏偏想踩踩,结果经过三天的折腾,就有了这篇小小白的入门级别记录,万一过段时间忘记了,也相当于给自己做个学习笔记。
首先W800和W801的资料确实很少,而且各种雷同,也不知道是抄袭还是厂家普发。能下载到的文档好多大侠都有提供各种网盘下载,官方也有连接,但是下载下来的东西大多是乱七八糟,对于我这种小白,根本不知道从哪个文件开始看起,为了捋清楚这些,花费了1天时间,我这一天可不是8小时,而是接近20个小时。
1、下载CDK开发环境
平头哥芯片网站主页https://occ.t-head.cn/
CDK下载https://occ.t-head.cn/community/download
当前最新版本cdk-windows-V2.14.0
2、下载SDK、说明文档和烧录工具
联盛德网站http://www.winnermicro.com/
SDK下载https://www.winnermicro.com/html/1/156/158/558.html,软件资料栏
下载WM_W800_SDK_DEMO使用指导_V1.3.pdf,在技术文档栏,要参照这个来写代码
下载W800串口烧录工具_V1.4.13.rar,在开发工具栏,代码写入开发板就靠它了。
3、SDK使用
解压SDK,注意整个路径不能有中文,然后打开CDK,File-Open-Open MIulti-Project Workspace
选择SDK解压文件夹\tools\w800\projects\SDK_Project\project\CDK_WS
在左侧树形列表中打开src\app\main.c
在void UserMain(void)函数中写自己的代码(实际上的main文件在platform\sys\wm_main.c文件中int main(void) 这里面是初始化)
4、写两句代码试试,真的感觉有点难,一个io口高低电平输出用了6个多小时,代码需要看WM_W800_SDK_DEMO使用指导_V1.3.pdf,不看这个真是一句代码也出不来。
第一句:tls_gpio_cfg(WM_IO_PB_00,WM_GPIO_DIR_OUTPUT,WM_GPIO_ATTR_PULLLOW);
tls_gpio_cfg:初始化IO口
WM_IO_PB_00:IO口名称(w801测试板用WM_IO_PB_05/25/26/18/17/16/11)
WM_GPIO_DIR_OUTPUT:定义为输出,想定义为输入就WM_GPIO_DIR_INPUT为输入
WM_GPIO_ATTR_PULLLOW:低电平,有三个选择 WM_GPIO_ATTR_FLOATING/**< floating status */,WM_GPIO_ATTR_PULLHIGH, /**< pull high */,WM_GPIO_ATTR_PULLLOW /**< pull low */
第二句:tls_gpio_write(WM_IO_PB_00,0);
tls_gpio_write:向指定IO口输出,LED接的是上拉电阻,低电平点亮,0是亮灯,1是灭灯。(PB00是绿,PB01是红,PB02是蓝)
好了,按F7编译,不出意外会看到====0 error(s), 2 warning(s), total time : 34s14ms====,就是编译成功了
5、下载到开发板
5.1、W800串口烧录工具_V1.4.13.rar解压,运行Upgrade_Tools_V1.4.13.exe
5.2、固件选择SDK解压文件夹\bin\w800\w800.fls
5.3、配置好串口(没有驱动要装CH340的U转串,win10直接认出)
5.4、点下载,下载工具直接可以看到调试信息,这个挺不错。
好了,绿灯点亮,但是有个问题就是蓝灯也是亮的,要给个tls_gpio_write(WM_IO_PB_02,1);才能灭,估计是和wm_main.c的初始化有关,以后慢慢研究。