久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2482|回復: 0
收起左側

OneNET麒麟座 迷你版程序

[復制鏈接]
ID:511461 發表于 2019-7-21 10:36 | 顯示全部樓層 |閱讀模式
//單片機頭文件
#include "stm32f10x.h"

//網絡協議層
#include "onenet.h"

//網絡設備
#include "esp8266.h"

//硬件驅動
#include "delay.h"
#include "usart.h"
#include "i2c.h"
#include "sht20.h"

//C庫
#include <string.h>
#include <stdlib.h>


extern unsigned char data_bytes;

extern unsigned char m_cmd, rev_cmd_cnt;

extern unsigned char r_addr, r_len;


/*
************************************************************
*        函數名稱:        Hardware_Init
*
*        函數功能:        硬件初始化
*
*        入口參數:        無
*
*        返回參數:        無
*
*        說明:                初始化單片機功能以及外接設備
************************************************************
*/
void Hardware_Init(void)
{
        
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);        //中斷控制器分組設置

        Delay_Init();                                                                        //systick初始化
        
        Usart1_Init(115200);                                                        //串口1,打印信息用
        
        Usart2_Init(115200);                                                        //串口2,驅動ESP8266用
        
        IIC_Init();                                                                                //IIC初始化
        
        UsartPrintf(USART_DEBUG, " Hardware init OK\r\n");
        
}

/*
************************************************************
*        函數名稱:        main
*
*        函數功能:        
*
*        入口參數:        無
*
*        返回參數:        0
*
*        說明:               
************************************************************
*/
int main(void)
{
        
        unsigned char *dataPtr = NULL;
        
        Hardware_Init();                                //初始化外圍硬件
        
        ESP8266_Init();                                        //初始化ESP8266
        
        while(OneNet_DevLink())                        //接入OneNET
                DelayXms(500);
        
        while(1)
        {
               
                dataPtr = ESP8266_GetIPD(0);
                if(dataPtr != NULL)
                        OneNet_RevPro(dataPtr, data_bytes);
               
                if(rev_cmd_cnt > 0)                                                                                        //如果收到平臺的查詢命令
                {
                        --rev_cmd_cnt;
                        
                        //根據命令碼、寄存器地址、寄存器地址長度吧要上傳的值放入鏈表里
                        //本例程命令碼為3代表查詢傳感器數據,為4代表控制相關外設
                        switch(m_cmd)
                        {
                                case 3:                                                                                                //控制外設
                                {
                                        unsigned short *value_table = malloc(r_len << 1);
                                        _Bool flag = 1;
                                       
                                        SHT20_GetValue();
                                       
                                        if(value_table != NULL)
                                        {
                                                switch(r_addr)
                                                {
                                                        //010300010001D5CA
                                                        case 1: value_table[0] = (unsigned short)(sht20_info.tempreture * 100); break;
                                                        
                                                        //01030002000125CA
                                                        case 2: value_table[0] = (unsigned short)(sht20_info.humidity * 100); break;
                                                        
                                                        default: flag = 0; break;
                                                }
                                                
                                                if(flag)
                                                        OneNet_SendData(value_table, r_len);
                                                
                                                free(value_table);
                                        }
                                }
                                break;
                                
                                default:
                                break;
                        }
                }
               
                DelayXms(10);
        
        }

}


360截圖20190721103105646.jpg
360截圖20190721103125078.jpg
360截圖20190721103140615.jpg
360截圖20190721103158759.jpg

1.kyLinMini-V1.x-基礎學習例程.zip

8.47 MB, 下載次數: 17, 下載積分: 黑幣 -5

2.kyLinMini-V1.x-OneNET-裸機-基礎例程.zip

11.03 MB, 下載次數: 17, 下載積分: 黑幣 -5

3.kyLinMini-V1.x-OneNET-裸機-進階例程.zip

4.97 MB, 下載次數: 11, 下載積分: 黑幣 -5

4.kyLinMini-V1.x-OneNET-RTOS.zip

9.59 MB, 下載次數: 9, 下載積分: 黑幣 -5

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩在线视频一区二区三区 | 免费黄色的网站 | 亚洲三级国产 | 成人午夜在线 | 午夜无码国产理论在线 | 国产成人免费视频 | 91精品国产综合久久久动漫日韩 | 欧美日韩一区在线观看 | 涩涩视频在线看 | 久久69精品久久久久久久电影好 | 成人高潮片免费视频欧美 | a毛片 | 国产精品久久 | 蜜桃视频在线观看免费视频网站www | 国产欧美一区二区三区在线看 | 国产成人精品网站 | 亚洲精品一区中文字幕 | 国产精品高潮呻吟久久 | 中文字幕国产一区 | 欧美成人视屏 | 2019天天操| 亚洲国产福利视频 | 亚洲小视频在线观看 | 91日b| 91精品久久久久久久久久入口 | 免费在线成人 | 久久久福利 | 五月婷婷在线视频 | 国产精品一二三区在线观看 | 91免费观看视频 | 日韩视频在线免费观看 | 97在线播放| 在线观看黄免费 | 欧美国产日韩精品 | 精品国产18久久久久久二百 | 日本三级电影免费观看 | 久久精品国产一区二区三区 | 欧美一区二区在线观看 | 亚洲一区有码 | 蜜臀久久99精品久久久久久宅男 | 免费观看av |