正点原子F407/103,接入机智云,点亮LED
2017-10-19 15:44
309 查看
这次要做的是用正点原子的探索者接入机智云并点亮LED
任务:
准备材料,探索者开发板,esp8266(我用的是正点原子的)
烧GAgent固件
建立数据点,下载MCU代码
创建工程,移植机智云的MCU代码到新建的工程
连接机智云
1.材料 <ignore_js_op>
2.烧GAgent固件,这个过程我就详细展开了,可以参考STM32F407 机智云开发手册V1.0http://club.gizwits.com/forum.ph ... =%E6%AD%A3%E7%82%B9
3.创建数据点 <ignore_js_op>
下载机智云自动生成的MCU代码,这里选择的是F407的
<ignore_js_op>
<ignore_js_op>
开始重点了
机智云生成MCU代码和STM32F407 机智云开发手册V1.0中的已经有所不同了,所以我这里是根据最新的生成MCU代码来实现连接机智云
4.创建工程,移植机智云的MCU代码到新建的工程
这里我就直接引用正点原子F407实验8 定时器中断实验的例程 <ignore_js_op>
实验8 定时器中断实验.zip (478.1 KB, 下载次数: 1)
我们需要把机智云自动生成的MCU代码文件中的Gizwits和Utils复制到引用的正点原子例程中
<ignore_js_op>
在例程的HARDWEAR文件下建立KEY和USART3文件夹,并且分别在这两个文件夹下加入key.h, key.c和usart3.h usart3.c
(在正点原子F407的其他例程中直接复制这两个c文件和头文件)
<ignore_js_op>
正点原子的例程是没有上面要添加的文件的
添加文件,完成后<ignore_js_op>
<ignore_js_op>
现在修改进行修改
把#include "Hal_Usart/hal_uart.h"修改为#include "usart3.h" USART3的配置在usart3.c实现
并且把usart3.c中的中断服务函数void USART3_IRQHandler(void)注释掉,因为在#include "gizwits_product.c"中有实现
把timer.c中的void TIM3_IRQHandler(void)也注释的,因为#include "gizwits_product.c"中有实现
在gizwits_product.c中的
int8_t gizwitsEventProcess(eventInfo_t *info, uint8_t *data, uint32_t len)添加我们的用户事件逻辑
修改main.c
添加
#include "usart3.h"
#include "key.h"
#include "gizwits_product.h"
写初始化协议函数和数据采集函数
<ignore_js_op>
再写main函数,在main中初始化外设并且进行用户数据采集和协议处理就可以了
<ignore_js_op>
还需要把gizwits_product.c中的void userHandle(void)注释掉,因为在main.c中再次定义了
有写注意事项,要把c99选上<ignore_js_op>
被
我这里还加上了控制LED的亮度,要添加pwm.c和pwm.h这两个文件,并且配置pwm
<ignore_js_op>
<ignore_js_op>
然后再main.c中初始化,就可以了记得加#include“pwm.h”
最后在int8_t gizwitsEventProcess(eventInfo_t *info, uint8_t *gizdata, uint32_t len)函数中的亮度事件里面写入pwm的输出就可以了
<ignore_js_op>
效果图
<ignore_js_op>
<ignore_js_op>
<ignore_js_op>
<ignore_js_op>
本教程适用于F103
任务:
准备材料,探索者开发板,esp8266(我用的是正点原子的)
烧GAgent固件
建立数据点,下载MCU代码
创建工程,移植机智云的MCU代码到新建的工程
连接机智云
1.材料 <ignore_js_op>
2.烧GAgent固件,这个过程我就详细展开了,可以参考STM32F407 机智云开发手册V1.0http://club.gizwits.com/forum.ph ... =%E6%AD%A3%E7%82%B9
3.创建数据点 <ignore_js_op>
下载机智云自动生成的MCU代码,这里选择的是F407的
<ignore_js_op>
<ignore_js_op>
开始重点了
机智云生成MCU代码和STM32F407 机智云开发手册V1.0中的已经有所不同了,所以我这里是根据最新的生成MCU代码来实现连接机智云
4.创建工程,移植机智云的MCU代码到新建的工程
这里我就直接引用正点原子F407实验8 定时器中断实验的例程 <ignore_js_op>
实验8 定时器中断实验.zip (478.1 KB, 下载次数: 1)
我们需要把机智云自动生成的MCU代码文件中的Gizwits和Utils复制到引用的正点原子例程中
<ignore_js_op>
在例程的HARDWEAR文件下建立KEY和USART3文件夹,并且分别在这两个文件夹下加入key.h, key.c和usart3.h usart3.c
(在正点原子F407的其他例程中直接复制这两个c文件和头文件)
<ignore_js_op>
正点原子的例程是没有上面要添加的文件的
添加文件,完成后<ignore_js_op>
<ignore_js_op>
现在修改进行修改
把#include "Hal_Usart/hal_uart.h"修改为#include "usart3.h" USART3的配置在usart3.c实现
并且把usart3.c中的中断服务函数void USART3_IRQHandler(void)注释掉,因为在#include "gizwits_product.c"中有实现
把timer.c中的void TIM3_IRQHandler(void)也注释的,因为#include "gizwits_product.c"中有实现
在gizwits_product.c中的
int8_t gizwitsEventProcess(eventInfo_t *info, uint8_t *data, uint32_t len)添加我们的用户事件逻辑
修改main.c
添加
#include "usart3.h"
#include "key.h"
#include "gizwits_product.h"
写初始化协议函数和数据采集函数
<ignore_js_op>
再写main函数,在main中初始化外设并且进行用户数据采集和协议处理就可以了
<ignore_js_op>
还需要把gizwits_product.c中的void userHandle(void)注释掉,因为在main.c中再次定义了
有写注意事项,要把c99选上<ignore_js_op>
被
我这里还加上了控制LED的亮度,要添加pwm.c和pwm.h这两个文件,并且配置pwm
<ignore_js_op>
<ignore_js_op>
然后再main.c中初始化,就可以了记得加#include“pwm.h”
最后在int8_t gizwitsEventProcess(eventInfo_t *info, uint8_t *gizdata, uint32_t len)函数中的亮度事件里面写入pwm的输出就可以了
<ignore_js_op>
效果图
<ignore_js_op>
<ignore_js_op>
<ignore_js_op>
<ignore_js_op>
本教程适用于F103
相关文章推荐
- 软硬合璧降低物联网开发门槛,正点原子与机智云达成战略合作
- 软硬合璧降低物联网开发门槛,正点原子与机智云达成战略合作
- Esp8266的 物联网又一股清流,8266接入阿里云平台非阿里智能的SDS服务,点亮一盏LED灯。
- 正点原子 13 LED灯实验
- 软硬合璧降低物联网开发门槛,正点原子与机智云达成战略合作
- 正点原子提供免费开源的的连接机智云平台开发教程和实例源码
- 【.Net Micro Framework PortingKit - 03】调试初步:点亮LED灯
- Linux嵌入式菜鸟之旅--点亮led灯
- stm8 点亮第一个LED
- 控制GPIO, 点亮led,实现跑马灯
- 字符型设备驱动程序-first-printf以及点亮LED灯(一)
- 6410寄存器控制GPIO点亮LED
- OLED使用测试-参照STM32正点原子和电机控制原理(一)
- (3)51单片机入门案列-一个按键实现点亮LED和开启蜂鸣器
- 树莓派:mmap 点亮 led 灯 example,pi2 model B 直接物理地址映射
- 用FPGA点亮第一颗LED
- NIOSII 点亮led灯
- 树莓派+python 远程点亮LED灯
- Esp8266进阶之路⑨ 【小实战上篇】Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。(带Demo)
- 基于正点原子STM32F4探索者的笔记