0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机智云Gokit3.X源代码分析之一

9GxC_IoTMaker 来源:未知 作者:李倩 2018-07-13 14:47 次阅读

从收到机智云的第一批试用板子到现在也挺久了,一直没时间和大家分享,今天抽空写下我的感受,机智云Gokit3.X是2016年6月25日发布的新产品,模型与Gokit2基本相同,采用底板+功能板+模组的方式,保留Arduino接口,可扩展性不错,具备以下功能:

独创的双排模组接口,兼容MCU和SoC两种连接方式。

1路USB转TTL调试串口。可用于SoC方式开发的日志输出。

兼容Arduino接口。

GoKit经典传感器组合,温湿度、红外感应、双向电机、RGB灯。

3个key。

增加2路MIC,1路Speaker。

丰富的扩展接口,如OLED等。

有3种配置:

GoKit3(V) - 语音模组版 (GoKit3功能板+底板+宇音天下模组)

GoKit3(S) - SoC版(乐鑫模组(GoKit3转接板)+底板+GoKit3功能板)

GoKit3(H) - 高性能模组版

我拿到的是带宇音天下模组Lark7618的语音识别版本,机智云还送了ESP8266的模块,赞一个!试用了下效果还不错,一些基本的开源项目论坛已经很多了,我就不多说了,我着重分享下STM32端整个程序的流程,机智云传输这么稳定得益于它整个框架的完整性,包括协议的制定以及解码部分的机制,是一个比较好的框架,下面重点分析:

首先我们来看主函数,开始先将系统初始化,主要包括Flash接口和时钟的配置,这里初始化为72MHz,之后是用户数据部分初始化

主要包括系统延时、串口、RGB灯、LED灯、电机、温湿度、红外对管等的初始化,之后开启看门狗,复位时间2s,然后就是按键的配置了,按键部分程序也不错,值得我们借鉴,我们找到按键定义的地方,

然后追踪定义,我们go to definition,查看singleKey数组的定义结构体,定义如下

主要有按键Num,GPIO端口,以及长按短按的回调函数。之后看到将数组地址与按键数值组合成keysTypedef_t这样一个结构体,方便调用结构体各个参数,明白了按键的定义,我们接着看按键的初始化

将每个按键的物理GPIO以及长短按回调函数都赋值到相应数组,这里一共初始化了2个按键,之后将数组地址传到keys这个结构体变量,初始化之后就可以通过keys来调用按键的所有功能了。按键的具体控制原理后面会将。接下来是机智云协议的初始化,之后打印一串初始化成功的数据。

那么gizwitsInit();初始化了什么东西呢,我们进去看看

这里就是初始化定时器和串口了,定时器初始化了定时器3,时钟9分频,自动重装载值7199,算下来1ms中断一次,我们追踪到定时器中断

看到这个定时器的作用是提供一个时基, gizwitsProtocol.timerMsCount每秒加1。然后串口这里初始化了串口2,主要用来通讯,之后就是串口环形buff的一些初始化,下节介绍。

之后就进入主循环了,喂狗,用户数据的处理以及整个协议的运转一直循环。

这个图是用Xmind做的,详细分析了整个程序的框架,当然,精髓不在这里,关于按键和串口环形buffer的数据处理方式,我们下节再探讨。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 语音识别
    +关注

    关注

    37

    文章

    1635

    浏览量

    111822
  • 源代码
    +关注

    关注

    94

    文章

    2923

    浏览量

    66047
  • Gokit
    +关注

    关注

    2

    文章

    11

    浏览量

    12437

原文标题:Gokit3.0 STM32源代码分析之一

文章出处:【微信号:IoTMaker,微信公众号:机智云开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    机智GoKit开发套件固件

    机智GoKit开发套件固件主要包含以下两个:GAgent_MX3162_B4R012S0.binGoKit_00000001_2014-10-31_v1.bin
    发表于 04-23 18:22

    GoKit试用体验】+机智GoKit开发套件学习分享1之开箱图

    本帖最后由 孤雨冰狐 于 2015-6-9 10:34 编辑 机智GoKit开发套件学习分享1之开箱图今天我申请的机智
    发表于 06-08 17:13

    GoKit试用体验】GoKit体验之旅

    :使用微信控制GoKit第五步:开始智能硬件开发如图 图1 手机体验微信宠物屋图2 机智个人项目 图3 机智
    发表于 07-05 22:21

    【试用活动】Gokit 2.XGokit 3.X 免费申请试用

    效。2.试用报告形式:标题格式如:【GoKit 型号】+自拟标题; Gokit 2.xGokit 3V;
    发表于 07-29 12:49

    【试用活动】Gokit 2.XGokit 3.X 免费申请试用

    专业越有机会最终获得Gokit。选做任务:1.申请人邀请名好友参与机智申请活动,并附上该名好友的ID2.被邀请人跟帖申请时注明邀请方的ID 以及邀请
    发表于 08-02 14:24

    Gokit 3申请】智能门控系统设计

    申请理由:项目描述:第步:先熟悉了解”机智Gokit 3开发套件“的开发环境,模块使用及应用,预计3
    发表于 08-09 15:00

    Gokit 3试用体验】(8)微信控制Gokit体验之机智宠物屋

    的情况下,顺利实现了控制。  智能宠物屋控制二维码只有出厂厂家才有,因为我们没有product_key,除非自己写个类似的微信控制软件。  以下解释来自机智官网社区贴如何连接微信和机智
    发表于 10-02 12:19

    机智网红手把手教你使用代码自动生成神器

    ` 本帖最后由 机智小编 于 2016-10-26 10:24 编辑 机智网红手把手教你物联网开发对代码自动生成神器
    发表于 10-19 16:01

    如何使用机智开发款智能硬件产品

    应用,图形化编程!STM32L432 Nucleo-32案例-3分钟打造手机APP远程空气质量监测应用机智4.0自动协议代码、MCU工程生成工具体验李~的笔记
    发表于 12-26 15:56

    机智在Amazon Alexa平台发布Smarthome和Custom Skill,实现亚马逊Echo直接控制Gokit

    )是个由自服务API、工具、文件和实例代码的集合,可轻松构建你自定义的Alexa skills,然后发布。机智开源套件 Gokit
    发表于 03-31 11:54

    机智 GOKIT 学习教程-庆科智能硬件套件

    机智 GOKIT 学习教程-庆科智能智能硬件套件
    发表于 08-02 22:26

    机友分享 | 基于Gokit+机智的低成本MCU红外遥控器

    Gokit,通过机智的物联网平台,能够满足我的需求,那么怎么来做呢?根据经验所得,需要对这个工作拆分为几部分:机智平台数据点定义(啥是
    发表于 07-07 12:19

    4G模组接入机智gokit3开发板

    准备内容:1.机智Gokit3开发板块(MCU模式),机智开发者工具,购买地址:[http
    发表于 10-31 19:55

    基于gokit3微信宠物屋与机智的物联网智能家居

    教程,下载机智 GoKit_MCU_STM32_V03010101测试固件及开发资源,在教程附件可以获取。2.将STM32F103C8x.ioc复制到我们云端之前下载好的自动生成
    发表于 04-07 17:53

    基于gokit3微信宠物屋与机智的物联网智能家居

    教程,下载机智 GoKit_MCU_STM32_V03010101测试固件及开发资源,在教程附件可以获取。2.将STM32F103C8x.ioc复制到我们云端之前下载好的自动生成
    发表于 04-07 17:53