找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3414|回复: 2
收起左侧

stm32f407+esp8266接入onenet上传数据值

[复制链接]
ID:316073 发表于 2019-8-7 20:11 | 显示全部楼层 |阅读模式
2.jpg 1.png

单片机源程序如下:
  1. /**
  2.   ******************************************************************************
  3.   * @file    main.c
  4.   * @author  fire
  5.   * @version V1.0
  6.   * @brief   用1.8.0版本库建的工程模板
  7.   ******************************************************************************
  8.   * @attention
  9.   *
  10.   * 实验平台:秉火  STM32 F407 开发板
  11.   *
  12.   ******************************************************************************
  13.   */

  14. //单片机头文件
  15. #include "stm32f4xx.h"

  16. //硬件驱动
  17. #include "./led/bsp_led.h"
  18. #include "./delay/bsp_delay.h"
  19. #include "./key/bsp_key.h"
  20. #include "./usart/bsp_usart.h"


  21. //网络协议层
  22. #include "onenet.h"

  23. //网络设备驱动
  24. #include "esp8266.h"

  25. //函数声明
  26. void key_pres(void);

  27. //全局变量
  28. u8 key=0;                        //记录键值
  29. u16 key0_times=0;        //记录按键次数

  30. /*
  31. ************************************************************
  32. *        函数名称:        Hardware_Init
  33. *
  34. *        函数功能:        硬件初始化
  35. *
  36. *        入口参数:        无
  37. *
  38. *        返回参数:        无
  39. *
  40. *        说明:                初始化单片机功能以及外接设备
  41. ************************************************************
  42. */
  43. void Hardware_Init(void)
  44. {
  45.         
  46.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  47.         
  48.         delay_init(168);
  49.         
  50.         LED_GPIO_Config();
  51.         
  52.         KEY_GPIO_Config();
  53.         
  54.         Usart1_Init(115200);
  55.         
  56.         Usart2_Init(115200);

  57.         UsartPrintf(USART1,"hareward is ok\r\n");
  58.         
  59. }



  60. /**
  61.   * @brief  主函数
  62.   * @param  无
  63.   * @retval 无
  64.   */
  65. int main(void)
  66. {
  67.                
  68.         unsigned short timeCount = 0;        //发送间隔变量
  69.         
  70.         unsigned char *dataPtr = NULL;
  71.         
  72.         Hardware_Init();
  73.         
  74.         ESP8266_Init();
  75.         
  76.         while(1)
  77.         {
  78.                 key_pres();
  79.                 if(++timeCount >= 500)                //发送间隔5s
  80.                 {

  81.                         UsartPrintf(USART_DEBUG, "OneNet_SendData\r\n");
  82.                         
  83.                         OneNet_SendData();
  84.                         
  85.                         timeCount = 0;
  86.                         
  87.                         ESP8266_Clear();
  88.                 }
  89.                
  90.                 dataPtr = ESP8266_GetIPD(0);
  91.                 if(dataPtr != NULL)
  92.                         OneNet_RevPro(dataPtr);
  93.                
  94.                 delay_ms(10);

  95.         }
  96. }

  97. void key_pres()
  98. {
  99.         key=KEY_Scan(0);                //得到键值
  100.         if(key)
  101.         {
  102.                 switch(key)
  103.                 {                                
  104.                         case(KEY0_PRES):LED0_ON;
  105.                                                         delay_ms(100);
  106.                                                         LED0_OFF;
  107.                                                         key0_times++;
  108.                                                         break;
  109.                         case(KEY1_PRES):if(key0_times>0)
  110.                                                         {LED0_ON;
  111.                                                         delay_ms(100);
  112.                                                         LED0_OFF;
  113.                                                         key0_times--;}
  114.                                                         break;
  115.                         case(KEY2_PRES):key0_times=0;
  116.                                                         LED0_ON;LED1_ON;
  117.                                                         delay_ms(100);
  118.                                                         LED0_OFF;LED1_OFF;
  119.                                                         break;
  120.                         default:break;
  121.                 }
  122.         }        
  123. }




  124. /*********************************************END OF FILE**********************/

复制代码
全部资料51hei下载地址:
按键次数上传onenet.7z (411.78 KB, 下载次数: 89)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:611378 发表于 2019-10-19 10:36 | 显示全部楼层
用F103的板子能实现吗
回复

使用道具 举报

ID:175749 发表于 2019-11-20 16:00 | 显示全部楼层
请问楼主用的是TCP连接ONENET的吗,协议是EDP?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表