📄 main.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 + -