Input.c
资源名称:GPRS_work.rar [点击查看]
上传用户:sdaoma
上传日期:2013-08-07
资源大小:3838k
文件大小:5k
源码类别:
GPS编程
开发平台:
C/C++
- /****************************************************************************
- * 文件名:Input.C
- * 功能:MiniGUI应用例子。
- * 创建对话框,实现长度"毫米"-"英寸"的转换。
- * 说明:使用MiniGUI for uC/OS-II,使用ADS 1.2编译器。
- ****************************************************************************/
- /* 包含MiniGUI的配置头文件(编译配置选项) */
- #include "MiniGUI_config.h"
- /* 包含MiniGUI头文件 */
- #include "common.h"
- #include "minigui.h"
- #include "gdi.h"
- #include "window.h"
- #include "control.h"
- #define IDC_STATIC1 1000
- #define IDC_STATIC2 1001
- #define IDC_EDIT1 1010
- #define IDC_DU 1030
- #define IDC_HU 1040
- /* 对话框属性设置 */
- static DLGTEMPLATE MyDlgTEMP =
- {
- WS_BORDER | WS_CAPTION,
- WS_EX_NONE,
- 10, 10, 220, 160,
- "GPRS演示程序",
- 0, 0,
- 5, NULL,
- 0
- };
- /* 对话框内的控件定义 */
- static CTRLDATA MyCtrlData[] =
- {
- {
- "static",
- WS_VISIBLE | SS_SIMPLE,
- 10, 10, 180, 16,
- IDC_STATIC1,
- "请输入电话号码",
- 0
- },
- {
- "static",
- WS_VISIBLE | SS_SIMPLE,
- 10, 70, 180, 16,
- IDC_STATIC2,
- "说明:D键为退格键.",
- 0
- },
- {
- "edit",
- WS_VISIBLE | WS_BORDER | WS_TABSTOP,
- 10, 40, 160, 24,
- IDC_EDIT1,
- NULL,
- 0
- },
- { "button",
- WS_VISIBLE | WS_TABSTOP | BS_DEFPUSHBUTTON,
- 30, 100, 60, 25,
- IDC_DU,
- "拔号",
- 0
- },
- { "button",
- WS_VISIBLE | WS_TABSTOP,
- 130, 100, 60, 25,
- IDC_HU,
- "挂机",
- 0
- },
- };
- #define IO0SET (*((volatile unsigned long *) 0xE0028004)) /* Not used for lpc210x*/
- #define IO0DIR (*((volatile unsigned long *) 0xE0028008)) /* Not used for lpc210x*/
- #define IO0CLR (*((volatile unsigned long *) 0xE002800C)) /* Not used for lpc210x*/
- /****************************************************************************
- * 名称:DialogBoxProc()
- * 功能:对话框过程函数。
- * 在MSG_INITDIALOG消息中保存启动对话框时传递过来的lParam参数。
- * 在MSG_COMMAND消息中处理IDOK命令,将处理后的数据返回主程序(length变量)。
- * 入口参数:hWnd 窗口句柄
- * message 消息
- * wParam 消息附加参数1
- * lParam 消息附加参数2
- * 出口参数:返回消息处理结果。
- ****************************************************************************/
- static int DialogBoxProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam)
- { extern void OSTimeDly (unsigned short);
- extern unsigned char ModemDialUp(char Number[]);
- extern GPRSHangUpTheCall(void);
- char disp[20];
- switch (message)
- { case MSG_INITDIALOG:
- IO0DIR = IO0DIR | (1<<7); // ***************
- IO0SET = (1<<7); // ***************
- SendMessage(GetDlgItem(hDlg, IDC_EDIT1), EM_LIMITTEXT, 15, 0L); // 限制输入字符个数
- return(1);
- case MSG_COMMAND:
- switch (LOWORD(wParam))
- { case IDC_HU:
- // 挂机操作
- IO0CLR = (1<<7); // ***************
- OSTimeDly(50); // ***************
- IO0SET = (1<<7); // ***************
- GPRSHangUpTheCall();
- break;
- case IDC_DU:
- // 拔号操作
- IO0CLR = (1<<7); // ***************
- OSTimeDly(50); // ***************
- IO0SET = (1<<7); // ***************
- GetWindowText(GetDlgItem(hDlg, IDC_EDIT1), disp, 15); // 读取电话号码
- ModemDialUp(disp);
- break;
- default:
- break;
- }
- break;
- case MSG_CLOSE:
- EndDialog (hDlg, IDCANCEL);
- break;
- default:
- break;
- }
- return DefaultDialogProc (hDlg, message, wParam, lParam);
- }
- /****************************************************************************
- * 名称:InitDialogBox()
- * 功能:初始化对话框,然后启动对话框。
- * 入口参数:hWnd 父窗口句柄
- * 出口参数:无
- ****************************************************************************/
- static void InitDialogBox(HWND hWnd)
- {
- MyDlgTEMP.controls = MyCtrlData;
- DialogBoxIndirectParam(&MyDlgTEMP, hWnd, DialogBoxProc, (LPARAM)0);
- }
- /****************************************************************************
- * 名称:MiniGUIMain()
- * 功能:MiniGUI程序入口点。
- * 入口参数:argc 参数个数
- * argv 参数字符串指针
- * 出口参数:返回0。
- ****************************************************************************/
- int MiniGUIMain(int argc, const char *argv[])
- {
- /* 虽然MiniGUI for uC/OS-II不支持"MiniGUI-Lite模式",
- 但为了保持代码的移植性,此段不要删除
- */
- #ifdef _LITE_VERSION
- SetDesktopRect(0,0, 800,600);
- #endif
- InitDialogBox(HWND_DESKTOP);
- return(0);
- }
- /* 定义桌面接口函数 */
- #ifndef _LITE_VERSION
- #include "dti.c"
- #endif