何大葱 发表于 2017-6-9 14:27:30

MCU代码自动生成、SOC、最小系统设计体验

对于初学者来所真的花上一小时也能构建工程,体验代码修改到的下载并测试的全过程。我参考了
http://club.gizwits.com/thread-6973-1-1.html改动思路,也成功和其一眼的效果。

虽说 MCU+WIFI 比起SOC 方式可能增加一些成本,不过可以完全定制自己的MCU工程,还是蛮有吸引力的。
这几天一直关注机智云的帖子,很想关注下工程自动生成工程,使用过程中,我发现工程是一个最小系统的,可以说是充分裁剪
没有任何多余的部件,没有OS却逻辑清晰,为通讯所定制的环形队列是不错的应用和设计。



先让IOE DEMO 和GOkit2的内置的“微信宠物屋” 连接,并交互看效果,GOKIT2开发套件附带的小说明书,很清楚的将操作步骤一一罗列。我们只要一步一步照着做就行了。就能看到下面的界面, SO 方便 简单。


接下来体验 工程构建 代码添加 下载 测试的过程。

1.首先开发者中心http://dev.gizwits.com/zh-cn/dev ... a70bd28a930e0755331
   注册账号,然后就直接创建新产品,自定产品名字,选择WIFI连接方式。    接下来在开发向导界面,添加数据点,读写类型“可写”,数据类型为布尔型,简单测试下LED点亮熄灭功能
   

2 然后自动生成工程代码 ,并下载,目录结构不再重复描述,可参考http://club.gizwits.com/thread-6973-1-1.html
然后将机智云宠物屋的Hal_rgb_led文件夹 复制到Hal文件夹下


3 使用KEIL5 打开工程,并添加Hal_rgb_led.c到代码里,并在main.c ,gizwits_product.c 加上#include "Hal_rgb_led/hal_rgb_led.h"
在userInit加入初始化函数 , 还要在gizwitsEventProcess函数中添加执行函数 实现亮灭功能。编译生成.hex文件


* 在该函数中完成了外设驱动初始化以及用户相关数据的初始
* @param none
* @return none
* @note 开发者可在此函数内添加新的驱动初始及状态初始化
*/
void userInit(void)
{
    uartxInit();      //printf打印串口初始化
    watchdogInit(2);    //看门狗复位时间2s
          rgbLedInit();
          rgbKeyGpioInit();
    memset((uint8_t*)¤tDataPoint, 0, sizeof(dataPoint_t));
}






4 下载Flash Loader Demo ,拔下WIFI模块版,将地板 开关开到“system”处,上电,查看芯片CP2102使用的串口,
    由于STM32F103并,选择128KRAM ,并找到目标hex所在目录,烧录成功

4

5, 下载好程序 ,重新打开IOE DEMO ,联结 绑定,然后就显示到smartLED 产品名称,和LED操作按键。打开则LED显示红色,关闭则熄灭。



整体真的很EASY,关键看创意,在机智云,GOKIT2,底层操作 ,wifi 驱动和通讯功能, app 操作都已准备好,
基于此, 可以最快速实现你闪亮的点子 。

页: [1]
查看完整版本: MCU代码自动生成、SOC、最小系统设计体验