78

帖子

0

TA的资源

一粒金砂(初级)

21
 
引用 17 楼 wdw1600 的回复:
遇到个麻烦,晕死,我怎么不能导出SDK,在PB-》PLATFORM那个菜单下面SDK横拉出三个选项:new sdk,config sdk,build sdk但是我那个只有new sdk能选,下面两个都不能选啊,怎么导出呢

这个要先new一个SDK,然后配置一下,然后才能编译SDK
再说一般情况下你可以直接用标准的SDK来做应用开发,除非你写的应用程序有跟硬件平台相关的一些代码在里面,即使有你也可以通过链接的方式使用

回复

78

帖子

0

TA的资源

一粒金砂(初级)

22
 
引用 18 楼 gooogleman 的回复:
引用 17 楼 wdw1600 的回复:
遇到个麻烦,晕死,我怎么不能导出SDK,在PB-》PLATFORM那个菜单下面SDK横拉出三个选项:new sdk,config sdk,build sdk但是我那个只有new sdk能选,下面两个都不能选啊,怎么导出呢


汗,你根本没有安装SDK啊,难怪会这样,

newSDK ——build SDK即可。然后在工程下找到SDK双击安装。狂汗,还说自己层 经运行成功过,先检查一下MFC组件加了没有,否则导出SDK安装照样不能运行,你们公司的…

在模拟器上的确运行成功过,我么装EVC的时候顺带就装了个PB安装包自带的SDK。。。。我们一直以为装那个SDK就可以了
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

23
 
MFC组件是在哪个地方加啊?
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

24
 
引用 15 楼 wdw1600 的回复:
引用 13 楼 xumercury 的回复:
比如我下午编译的应用程序拷贝到flash里运行提示不是有效的WINDOWS应用程序。
应该是SDK的问题。按键响应的话从底层叫上去比较方便一些。
底层收到键值然后返回给WINCE上层,上层通过读取返回的值去应用层执行相应的exe 虽然绕了一圈但是还是比较简单的处理方法。

请问这个过程是怎么实现?是不是像上面8楼说的:
驱动用 SetEvent(m_hEventExit);//
上层消息名和m_hEven…

就用一般流式驱动调用的方法就好了。用IOControl的方法就可以。你参考下wavamain.c的写法。
如果你要在应用层读取或者写入些东西的话
比如说

  1. //set audio level
  2.         InBuf.uMsg= WODM_SET_AUDIOLEVEL;
  3.         InBuf.uDeviceId = 0;
  4.         InBuf.dwUser = 0;
  5.         InBuf.dwParam1 = dwAudioLevel;
  6.         InBuf.dwParam2 = 0;       
  7.         DeviceIoControl(hDev, IOCTL_WAV_MESSAGE, &InBuf, sizeof(InBuf),
  8.                                        &OutBuf,sizeof(OutBuf), NULL, NULL);
  9. // get current audio level
  10.         InBuf.uMsg= WODM_GET_AUDIOLEVEL;
  11.         InBuf.uDeviceId = 0;
  12.         InBuf.dwUser = 0;
  13.         InBuf.dwParam1 = 0;
  14.         InBuf.dwParam2 = 0;
  15.         DeviceIoControl(hDev, IOCTL_WAV_MESSAGE, &InBuf, sizeof(InBuf),
  16.                                                &OutBuf,sizeof(OutBuf), NULL, NULL);
复制代码

参考下吧
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

25
 
上面的code是你通过底层驱动在应用层写读值,以后确认下是那个按键的值。然后应用层做执行exe的动作就好了。应用层都很好处理
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

26
 
引用 24 楼 xumercury 的回复:
上面的code是你通过底层驱动在应用层写读值,以后确认下是那个按键的值。然后应用层做执行exe的动作就好了。应用层都很好处理

谢谢提供的方法。


郁闷的本来昨天驱动都没问题,今天反而出现问题了:就是死循环。
    SetEvent(pPWR->Event);//向应用层发送消息。就这句,加上去总是要出问题,一按键就死循环,不加就没有问题,我昨天都测的好好的,今天我啥都没改。。。后面想了很多方法都不行,郁闷了,有没有人遇到类似情况的啊?麻烦说下,谢谢!
(注:这句就是上面驱动那句,上面那个参数是错的,昨晚发帖的时候忘记了参数随便取的)
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

27
 
哦,还有上面的CurrStatus = SUSPEND;
            SetSystemPowerState( NULL, POWER_STATE_SUSPEND, POWER_FORCE );

也是注释掉的,昨晚发帖没注意
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

28
 
引用 22 楼 wdw1600 的回复:
MFC组件是在哪个地方加啊?


PB右边啊,有英文的。你找个朗成的开发板手册照着做吧。

 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

29
 
找到了,原来是加WINCE组件里面,以前都没注意那个栏目,我那个驱动进入死循环是怎么回事啊,我在网上看了setevent函数是结束wait...跳出死循环啊,怎么反而成了死循环的来源了。
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

30
 
找到MFC组件,右键,add..
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

31
 
关于线程,找个成功例子看看就明白了。

使用中断触发,也可以使用别的线程或者定时器触发。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

32
 
我那是使用中断触发的,我就是郁闷了,为什么我加了setevent();这个函数按键下去就成了死循环,系统直接死机,去掉就好了,去掉了又怎么发信息呢
 
 
 

回复

93

帖子

0

TA的资源

一粒金砂(中级)

33
 
引用 31 楼 wdw1600 的回复:
我那是使用中断触发的,我就是郁闷了,为什么我加了setevent();这个函数按键下去就成了死循环,系统直接死机,去掉就好了,去掉了又怎么发信息呢


按下一次之后必须把中断的一些寄存器处理一下,否则在按下的时候,没有处理机械抖动,会造成多次中断发生。

你现在只能一步步加打印信息,看死在哪里了。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

34
 
把SetEvent(m_hEventExit);//向应用层发送消息,
放到InterruptDone()后面看看.
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

35
 
试过了,放后面一样,郁闷了,应用程序搞定了,正如楼上几位说的,没加自己的SDK和MFC组件,昨天在EVC中仿真成功估计是装了标准SDK的缘故
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

36
 
   LeaveCriticalSection(&pPWR->RegCS);
这句什么意思?循环不断
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

37
 
这句我也不清楚,我改的电源按键的驱动。。。有关线程的东西弄的不太清楚。这句会导致死循环?
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

38
 
这句我要屏蔽了,离开临界区。。。。我都没建立临界区。。。
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

39
 
引用 32 楼 gooogleman 的回复:
引用 31 楼 wdw1600 的回复:
我那是使用中断触发的,我就是郁闷了,为什么我加了setevent();这个函数按键下去就成了死循环,系统直接死机,去掉就好了,去掉了又怎么发信息呢


按下一次之后必须把中断的一些寄存器处理一下,否则在按下的时候,没有处理机械抖动,会造成多次中断发生。

你现在只能一步步加打印信息,看死在哪里了。

就是死在while(1)里面的
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

40
 
up
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
【回帖赢京东卡】说说无线技术那些事儿
即日起—2月28日,参与回帖讨论都有机会赢取【30元京东卡】

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表