收藏官网首页
查看: 27087|回复: 14

stm32机智云对接干净移植程序详解

7

主题

13

帖子

170

积分

注册会员

Rank: 2

积分
170
发表于 2015-12-26 12:32:06 | 显示全部楼层 |阅读模式
汉枫LPB120模块
本帖最后由 千秋波罗 于 2015-12-27 19:30 编辑

还在分析别人的程序?
还在为移植机智云协议苦恼?
还在不知道怎么添加自己的应用?
别急,最干净的STM32机智云对接程序来了!
秒秒钟能看懂!
只需两步就可以把机智云对接程序移走,放入自己的工程!尽情享用吧。
1.png
以上是主程序,如果觉得还不够干净就别来了。如果觉得看不懂回去补补基础吧。

=================================================================既然是详解,肯定不会让大家失望!之后我会对程序在本帖子做详细分析。
因为我根本没准备,不能把教程一次性发上来。
所以新手可以跟帖一下,老手把程序抱走就可以了。谢谢。
=================================================================今天讲,如何把我程序移入自己的工程里面。
只需要两步。
第一步,将HARDWARE文件夹里面的Protocol与TIMER文件夹放入自己的工程里面。
2.png
第二步,将串口协议移植过去。
协议请打开usart.c文件。
===================
u8         get_one_package;                                                        //判断是否接收到一个完整的串口数据包
u8         cmd_flag1, cmd_flag2;
u16                 uart_Count=0;                                                                        //串口缓冲区数据长度
u8                 uart_buf[256];                                                                 //串口缓冲区
u16                 cmd_len =0 ;        
====================
先加入全局变量
再修改串口接收协议的中断
=====================
void USART1_IRQHandler(void)                        //串口1中断服务程序
        {
        uint8_t         vlue;
   if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
  {
                USART_ClearITPendingBit(USART1,USART_IT_RXNE);
                vlue = USART_ReceiveData(USART1);
                if(get_one_package ==0)
                {
                        if(cmd_flag1 ==0)
                        {
                                if(vlue == 0xff)
                                {   
                                                uart_Count = 0;                                                
                                                uart_buf[uart_Count]=vlue;
                                                uart_Count++;        
                                                cmd_flag1 = 1;
                                }                        
                                return ;
                        }
                        else if(cmd_flag2 ==0)
                        {
                                                uart_buf[uart_Count]=vlue;
                                                uart_Count++;
                                                if(uart_buf[1] == 0xff)
                                                {
                                                        cmd_flag2 = 1;                                                        
                                                }        
                                                else
                                                {
                                                        cmd_flag1 = 0;
                                                }
                                return ;
                        }
                        else
                        {                                
                        uart_buf[uart_Count] = vlue;
                        if(uart_Count >=4 && uart_buf[uart_Count] == 0x55 && uart_buf[uart_Count-1] == 0xFF){}
                        else uart_Count++;
                        if(uart_Count == 0x04)
                        {
                                cmd_len = uart_buf[2]*256 +  uart_buf[3];                                                                                                                        
                        }
                        if(uart_Count ==  (cmd_len + 4))
                        {
                                get_one_package = 1;
                                cmd_flag1 = 0;
                                cmd_flag2 = 0;
                        }        
                 }                        
                }               
  }        


=======================================
好了,移植完了。编译一下,99%应该通过了。
然后编辑主程序。嘿咻嘿咻,快去用软件调试一下吧。

高手可以走了。以下是新手教程了。

新手的话,先暂时不要移植了。跟我先调通了再说。
今天就到这里了。先去用串口工具试一试。
把我提供的程序直接烧进去,这个时候只能用串口工具去调试看一下接口是否正常!!!
暂时还不能用。

stm32机智云对接干净移植.rar (292 KB, 下载次数: 175)

5

主题

32

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
发表于 2015-12-26 14:19:45 | 显示全部楼层
必须顶一个   

2

主题

42

帖子

551

积分

高级会员

Rank: 4

积分
551
发表于 2015-12-26 16:21:14 | 显示全部楼层
校园创客福利
给楼主顶一个!!

4

主题

60

帖子

555

积分

版主

Rank: 7Rank: 7Rank: 7

积分
555
发表于 2015-12-26 16:42:12 | 显示全部楼层
是Zigbee的协议吧,支持一下!

7

主题

13

帖子

170

积分

注册会员

Rank: 2

积分
170
 楼主| 发表于 2015-12-26 16:44:27 | 显示全部楼层
林林 发表于 2015-12-26 16:42
是Zigbee的协议吧,支持一下!

zigbee的真的不能公布的。哈哈。移植的裸机可以公布,但是协议栈我是不会放出来的。

4

主题

60

帖子

555

积分

版主

Rank: 7Rank: 7Rank: 7

积分
555
发表于 2015-12-26 16:46:41 | 显示全部楼层
我只表示你抠门,等几天再来试试下

0

主题

4

帖子

61

积分

版主

Rank: 7Rank: 7Rank: 7

积分
61
发表于 2015-12-26 22:04:25 | 显示全部楼层
楼主写的不错!顶一个
发表于 2015-12-27 18:59:49 | 显示全部楼层
教您5分钟接入机智云,实现傻瓜式开发
菠萝不干净~

0

主题

22

帖子

78

积分

注册会员

Rank: 2

积分
78
发表于 2015-12-27 19:12:49 | 显示全部楼层
我也把它按自己的理解写出来了~~~~

7

主题

13

帖子

170

积分

注册会员

Rank: 2

积分
170
 楼主| 发表于 2015-12-27 23:45:10 | 显示全部楼层

鬼不干净~~又扯淡!!不要调皮!

1

主题

220

帖子

1198

积分

金牌会员

Rank: 6Rank: 6

积分
1198
发表于 2015-12-28 12:03:40 | 显示全部楼层
给楼主顶一个!!

4

主题

19

帖子

589

积分

高级会员

Rank: 4

积分
589
发表于 2016-3-11 13:04:19 来自手机 | 显示全部楼层
mark。一下。下次直接来拿

1

主题

5

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2016-3-11 13:46:31 | 显示全部楼层
教您5分钟接入机智云,实现傻瓜式开发
顶一个  !!!!!!!!!!!!!!!!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

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