⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 制作Zigbee模块的详细电路原理图和C代码
💻 C
字号:
//====================================================================================
//	The information contained herein is the exclusive property of
//	Sunnnorth Technology Co. And shall not be distributed, reproduced,
//	or disclosed in whole in part without prior written permission.
//	(C) COPYRIGHT 2003 SUNNORTH TECHNOLOGY CO.
//	ALL RIGHTS RESERVED
//	The entire notice above must be reproduced on all authorized copies.
//====================================================================================

//======================================================================
// 工程名称: Zigbee Demo
// 功能描述: Zigbee Demo代码(配合SPCE3200试验箱使用,与其它试验设备连接请修改相应接口)
//			  利用一对Zigbee模组,实现两台SPCE3200嵌入式实验箱之间的无线通讯
//			  要求两台实验箱各自从"1"开始发送数据,当接收到数据后,把接收数据加1发送回原网络节点,
//			  当发送数据或者接收数据大于20时不再发送或者接收数据
// IDE 环境: SUNPLUS S+core IDE 2.2.0(or later)
// 涉及的库: 无
// 组成文件: main.c,
//	 		  Zigbee.c, Zigbee.h, api.h, command.h, data.h, frame.h, func.c, msg.c, msg.h, spif.c, spif.h,  
//			  srf.c, type.h, unet.c, unet.h, uz2400.h
//			  TFT_API.c, TFT_API.h, TFT_Config.h
//			  User_IRQ.c, Sys_IRQ.c, Sys_isr.S, INT.h
//			  SPCE3200_Register.h, SPCE3200_Constant.h
// 硬件连接: 连接Zigbee模组实验箱的J11(Zigbee)接口上
//			  注意一定要按顺序(实验箱的3.3V接模组的VCC,GND接GND)插接,且不可插反或错位
// 维护记录: 2007-12-27	V1.0  by Hongyan.Feng
//======================================================================

//=============================================================
// 文件名称:main.c
// 功能描述:定义了主函数
// 维护记录:2007-12-18	V1.0
//=============================================================

#include ".\Zigbee\Zigbee.h"
#include ".\TFT\TFT_API.h"
#include ".\TFT\TFT_Config.h"

//=============================================================
// 语法格式:	void main(void)
// 实现功能:	主函数,初始化后连接网络,并发送/接收数据
// 入口参数:	无
// 出口参数:	无
//=============================================================
int main(void)
{
	unsigned short usTemp = 0;
	unsigned short Rev_Buff[1];
	unsigned short Rev_Data = 0;
	WIN_HANDLE WK_Window;												// 工作窗口句柄
	unsigned int Rev_Flag = 1;

	TFT_Init();															// 初始化LCD
	WK_Window = TFT_CreateWindowEx(0, 0, TFT_WIDTH-1, TFT_HEIGHT-1, 0x003f);// 创建工作窗口
	TFT_SetColor(WK_Window, 0xffff);									// 设置显示颜色	
		
	Rev_Buff[0] = 0x01;
	TFT_Print(WK_Window, "模块初始化.....\n");							// 显示"模块初始化....."
	Zigbee_Init();														// 初始化Zigbee
	TFT_Print(WK_Window, "正在连接,请稍候.....\n");					// 显示"正在连接,请稍候....."
	Zigbee_JoinNet(UNET_PAN_ID, UNET_CHANNEL);							// 加入局域网UNET_CHANNEL
	TFT_Print(WK_Window, "连接成功!\n");								// 显示"连接成功"
	
	Zigbee_SendWord(NetPlay_DstAddr,Rev_Buff[0]);						// 发送第一个数据
	TFT_Print(WK_Window, "发送数据:%d\n",Rev_Buff[0]);					// 显示发送数据
	Rev_Buff[0] = 0;
	while(Rev_Flag)
	{
		Zigbee_ServiceLoop();											// Zigbee服务程序
		if((usTemp = Zigbee_GetWord(Rev_Buff))!=0xffff)					// 接收数据
		{
			Rev_Data = Rev_Buff[0];
			TFT_Print(WK_Window, "接收数据:%d\n",Rev_Data);				// 显示接收数据
			Rev_Data += 1;				
			if(Rev_Data > 20)
				Rev_Flag = 0;
			if(Rev_Flag ==1 )
			{
				TFT_Print(WK_Window, "发送数据:%d\n",Rev_Data);			// 显示发送数据
				Zigbee_SendWord(usTemp,Rev_Data);						// 发送数据
			}
		}
	}
	while(1);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -