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

📄 main.c

📁 GPRS模组资料包含DEMO
💻 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.
//====================================================================================

//======================================================================
// 工程名称: GPRS Demo
// 功能描述: GPRS Demo代码(配合SPCE3200试验箱使用,与其它试验设备连接请修改相应接口)
//			  利用LCD的触摸屏接电话、打电话、收发短信
//			  LCD界面手机操作和普通手机类似
// IDE 环境: SUNPLUS S+core IDE 2.2.0(or later)
// 涉及的库: 无
// 组成文件: main.c,
//	 		  GPRS.c, GPRS.h,
//			  TFT_API.c, TFT_API.h, TFT_Config.h
//			  TouchPanel.c, TouchPanel.h
//			  PY_IME.c, PY_IME.h, PY_Interface.c, PY_MB.h, PY_Index.h, PY.h
//			  Queue.c, Queue.h
//			  _String_.c, _String_.h
//			  uni.c, uni.h
//			  tel.c, tel.h, Screen.c, Screen.h
//			  User_IRQ.c, Sys_IRQ.c, Sys_isr.S, INT.h
//			  SPCE3200_Register.h,SPCE3200_Constant.h
// 硬件连接: 按照GPRS模组使用说明书配置GPRS模组
//			  连接天线、耳机到各自插孔	
//			  插接GPRS模组到实验箱GPRS接口,插接时注意不能错位
//			  断开JP7、JP8的所有跳线
//			  断开UART模块的两个跳线
// 维护记录: 2007-12-18	V1.0  by Hongyan.Feng
//======================================================================

//=============================================================
// 文件名称:main.c
// 功能描述:定义了主函数
// 维护记录:2007-12-18	V1.0
//=============================================================
#include ".\Tel\tel.h"
#include "Resource.h"

WIN_HANDLE MainFrame, Msg;												// 手机主窗口和消息显示(手机屏幕)窗口句柄

//=============================================================
// 语法格式:	void main(void)
// 实现功能:	主函数,初始化后,按照触摸屏触摸位置进行拨打电话、收发短信等操作
// 入口参数:	无
// 出口参数:	无
//=============================================================
int main(void)
{
	int Exit = 0;														// 退出标志,本项目中保留
	int ShowWelcomePage = 1;											// 保存显示开机界面标志
	short x, y;															// 保存显示坐标
	int Key;															// 保存手机键值

	Touch_Init();														// 初始化Touch Panel
	TFT_Init();															// 初始化LCD
	
	MainFrame = TFT_CreateWindowEx(0, 0, 640, 480, COLOR_BLACK);		// 创建主窗口
	TFT_PutPicture(MainFrame, 0, 0, RES_PHONE_JPG, 0);					// 显示主窗口图片
	Msg = TFT_CreateWindowEx(220, 120, 190, 220, COLOR_WHITE);			// 创建消息显示窗口
	TFT_SetColor(Msg, COLOR_RED);										// 设置显示颜色	
	TFT_Print(Msg, "系统启动.....\n");									// 显示"系统启动....."
	
	GPRS_Init(115200);													// 初始化GPRS
	TFT_Print(Msg, "GPRS初始化成功");									// 显示提示
	delay(30000);														// 延时
	while(Exit == 0)													// 
	{
		if(ShowWelcomePage)												// 如果是开机界面
		{
			TFT_ClearWindow(Msg);										
			TFT_SetTextPos(Msg, 67, 40);
			TFT_Print(Msg, "Welcome");									// 显示"Welcome To The World of S+core"
			TFT_SetTextPos(Msg, 87, 56);
			TFT_Print(Msg, "To");
			TFT_SetTextPos(Msg, 47, 72);
			TFT_Print(Msg, "The World of");
			TFT_PutPicture(Msg, 0, 96, RES_LOGO_BMP, 0);
			ShowWelcomePage = 0;
		}
		if(full == TRUE)												// 如果接收到GPRS信息
		{
			if(strcmp(g_RecvBuf, "RING\r\n") == 0)						// 有呼叫
			{
				TFT_Tel_Print("有人呼您,请接听....");
			}
			if(strcmp(g_RecvBuf, "+CME ERROR: 3\r\n") == 0)				// 
			{
				TFT_Tel_Print("现在无人呼您,别瞎忙了");
			}
			if(strcmp(g_RecvBuf, "NO CARRIER\r\n") == 0)				// 对方挂机
			{
				TFT_Tel_Print("对方终于挂机了,可以尽情玩了^v^");
			}
			if(strncmp(g_RecvBuf, "+CDS:",5) == 0)						// 短信回执
			{
				TFT_Tel_Print("短信对方已收到");
			}
			if(strncmp(g_RecvBuf, "+CMT:",5) == 0)						// 收到短信
			{
				TFT_Tel_Print("你有新短信");
				TFT_Print(Msg, g_RecvBuf);
			}
			full = FALSE;
		}
		if(Touch_Get(&x, &y) == -1)										// 取触摸屏位置
			continue;
		Key = Touch_Trans(x, y);										// 取手机键值
		if((Key >= 0) && (Key <= 9))									// 如果是数字键
		{
			Tel_Call();													// 调用拨打电话界面
			ShowWelcomePage = 1;
			continue;
		}
		switch(Key)
		{
			case C_ANSWER:												// 接电话
				Tel_Ans();	
				break;
			case C_HANG:												// 挂电话
				Tel_Hang();
				ShowWelcomePage = 1;
				break;
			case C_SEND:												// 发短信
				Info_Send();
				ShowWelcomePage = 1;
				break;
			case C_LOOK:												// 查看短信
				Info_Look();
				ShowWelcomePage = 1;
				break;
		}
		delay(10000);
	}
	return 0;
}

⌨️ 快捷键说明

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