📄 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.
//====================================================================================
//======================================================================
// 工程名称: 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 + -