WINCE 定时器0控制LED上位机源码

  /******************************************************
  *作    者:温子祺
  *联系方式:wenziqi@hotmail.com
  *创建事件:2010-09-06
  *说    明: 定时器闪烁LED上位机源码
  ******************************************************/

 

转载请注明出处,谢谢!

 

 
  
1 // TIMERDlg.cpp : 实现文件
2   //
3  
4 #include " stdafx.h "
5 #include " TIMER.h "
6 #include " TIMERDlg.h "
7
8 #ifdef _DEBUG
9   #define new DEBUG_NEW
10   #endif
11
12   #define IOCTL_START_TIMER 1
13 #define IOCTL_STOP_TIMER 2
14
15 // CTIMERDlg 对话框
16
17 CTIMERDlg::CTIMERDlg(CWnd * pParent /* =NULL */ )
18 : CDialog(CTIMERDlg::IDD, pParent)
19 {
20 m_hIcon = AfxGetApp() -> LoadIcon(IDR_MAINFRAME);
21
22 m_hTimer = INVALID_HANDLE_VALUE;
23 }
24
25 void CTIMERDlg::DoDataExchange(CDataExchange * pDX)
26 {
27 CDialog::DoDataExchange(pDX);
28 }
29
30 BEGIN_MESSAGE_MAP(CTIMERDlg, CDialog)
31 #if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
32 ON_WM_SIZE()
33 #endif
34 // }}AFX_MSG_MAP
35 ON_BN_CLICKED(IDC_BUTTON1, & CTIMERDlg::OnBnClickedStartTimer)
36 ON_BN_CLICKED(IDC_BUTTON2, & CTIMERDlg::OnBnClickedStopTimer)
37 ON_BN_CLICKED(IDC_BUTTON3, & CTIMERDlg::OnBnClickedOpenTimer)
38 ON_BN_CLICKED(IDC_BUTTON4, & CTIMERDlg::OnBnClickedCloseTimer)
39 END_MESSAGE_MAP()
40
41
42 // CTIMERDlg 消息处理程序
43
44 BOOL CTIMERDlg::OnInitDialog()
45 {
46 CDialog::OnInitDialog();
47
48 // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
49 // 执行此操作
50 SetIcon(m_hIcon, TRUE); // 设置大图标
51 SetIcon(m_hIcon, FALSE); // 设置小图标
52
53 // TODO: 在此添加额外的初始化代码
54
55
56
57 return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
58 }
59
60 #if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
61 void CTIMERDlg::OnSize(UINT /* nType */ , int /* cx */ , int /* cy */ )
62 {
63 if (AfxIsDRAEnabled())
64 {
65 DRA::RelayoutDialog(
66 AfxGetResourceHandle(),
67 this -> m_hWnd,
68 DRA::GetDisplayMode() != DRA::Portrait ?
69 MAKEINTRESOURCE(IDD_TIMER_DIALOG_WIDE) :
70 MAKEINTRESOURCE(IDD_TIMER_DIALOG));
71 }
72 }
73 #endif
74
75
76 void CTIMERDlg::OnBnClickedStartTimer()
77 {
78 if (m_hTimer == INVALID_HANDLE_VALUE)
79 {
80 MessageBox(L " ERROR: m_hTimer is invalid! " );
81
82 return ;
83 }
84
85 ::DeviceIoControl(m_hTimer,IOCTL_START_TIMER,NULL, 0 ,NULL, 0 ,NULL,NULL);
86 }
87
88 void CTIMERDlg::OnBnClickedStopTimer()
89 {
90 if (m_hTimer == INVALID_HANDLE_VALUE)
91 {
92 MessageBox(L " ERROR: m_hTimer is invalid! " );
93
94 return ;
95 }
96
97 ::DeviceIoControl(m_hTimer,IOCTL_STOP_TIMER,NULL, 0 ,NULL, 0 ,NULL,NULL);
98 }
99
100 void CTIMERDlg::OnBnClickedOpenTimer()
101 {
102 m_hTimer = CreateFile(_T( " TMR1: " ),GENERIC_READ | GENERIC_WRITE, 0 ,NULL,OPEN_EXISTING, 0 , 0 );
103
104 if (m_hTimer == INVALID_HANDLE_VALUE)
105 {
106 MessageBox(L " ERROR:Create file for m_hTimer fail! " );
107 }
108 }
109
110 void CTIMERDlg::OnBnClickedCloseTimer()
111 {
112 if (m_hTimer)
113 {
114 CloseHandle(m_hTimer);
115
116 m_hTimer = INVALID_HANDLE_VALUE;
117
118 }
119 else
120 {
121 MessageBox(L " ERROR: m_hTimer is invalid! " );
122 }
123 }
124

 

 

转载于:https://www.cnblogs.com/wenziqi/archive/2010/09/10/1823406.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值