6008|18

80

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

菜鸟又问:关于GPIO [复制链接]

上次问了一个GPIO的驱动问题,现在GPIO的驱动已经骗译好了,我想求一个简单的完整的GPIO应用程序,呵呵,我是一个刚刚接触嵌入式的小菜鸟,以前也没有开发的经验,所以什么都不懂,手上也没有任何一个WINCE6.0的应用程序例程,不知道应用程序该如何写,希望各位前辈帮帮忙啊!
    我的GPIO驱动主要是在PIO_IOControl中调用了如下函数:
     GPIO_SetPinOut设置某个引脚为输出引脚         GPIO_SetMultiPinOut设置多个引脚为输出引脚
     GPIO_SetPinIn设置某个引脚为输入引脚          GPIO_SetMultiPinIn设置多个引脚为输入引脚
     GPIO_SetPin设置某个引脚输出高电平            GPIO_SetAllPin设置多个引脚输出高电平
     GPIO_ClrPin设置某个引脚输出低电平            GPIO_ClrAllPin设置多个引脚输出低电平
     GPIO_ReadPin读取某个引脚的电平状态           GPIO_ReadAllPin读出一组引脚的状态
     GPIO_ConfigPullUp设置某个引脚是否内部上拉    GPIO_ConfigMultiPinPullup设置多个引脚是否内部上拉

    现在我想写一个应用程序,让GPIO的引脚输出高电平或低电平,感觉是一个简单的程序,可是不知道如何开始。
    对了,顺便问一下,在Visual studio里在哪新建应用程序啊,是在File->new->project->win32->win32 smart Device project新建吗?呵呵,惭愧呀,什么都不懂,希望前辈们指教。。。
    提一下,我用的是6410的板子呵呵

最新回复

多谢各位大虾的指点,特别是xuguod20042576,结合了大家的意见,我要自已试着写这个小程序,先结贴了呵呵  详情 回复 发表于 2009-9-1 08:54
点赞 关注

回复
举报

68

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
是不是下午看贴的人少啊,没人理我,好可怜,请前辈们帮帮忙啊,小妹先谢过了!
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 lhhs123 的回复:
是不是下午看贴的人少啊,没人理我,好可怜,请前辈们帮帮忙啊,小妹先谢过了!


嘿嘿,冲着“小妹”来回帖的,
在应用程序中调用deviceIOControl函数,就会调用PIO_IOControl,在deviceIOControl函数中设置对应的命令即可。
具体看周立功 那本2410的书。哈哈

现在很多女孩子加入wince阵营,本来不想再瞎回帖了,但是又新人来,忍不住!!
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

4
 
呵呵,比我好,当时我还不会上论坛问呢。
你的内核支持MFC的话就建个MFC Smart Device Application,这样写APP就很快,Win32的也时可以的。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

5
 
女孩子也来玩这个啊???
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
精神上支持 要是实在搞不定 楼主又是 PLMM 的话,给我打电话好了。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用 2 楼 gooogleman 的回复:
引用 1 楼 lhhs123 的回复:
是不是下午看贴的人少啊,没人理我,好可怜,请前辈们帮帮忙啊,小妹先谢过了!


嘿嘿,冲着“小妹”来回帖的,
在应用程序中调用deviceIOControl函数,就会调用PIO_IOControl,在deviceIOControl函数中设置对应的命令即可。
具体看周立功 那本2410的书。哈哈

现在很多女孩子加入wince阵营,本来不想再瞎回帖了,但是又新人来,忍不住!!


汗,我就是手上没有书啊,也没有其它的跟应用程序有关的资料,例程都是可执行文件,根本看不到源代码,呵呵,刚进来就发现前辈是高人,很多地方都能看到你的身影,善于思考,愿意帮助别人,愿意分享经验,是我们学习的榜样!
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

8
 
嘿嘿,我不是高人!我们是同龄人,俺也是去年毕业的。
没有书就买呗,在www.china-pub.com才是20多块钱,
MM如果你在广州就借给你看看,哈哈
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

9
 
嘿嘿,我不是高人!我们是同龄人,俺也是去年毕业的。
没有书就买呗,在www.china-pub.com才是20多块钱,
MM如果你在广州就借给你看看,哈哈
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 4 楼 jeanszu 的回复:
女孩子也来玩这个啊???

惭愧,我是刚刚接触的,还没入门呢,不过我相信只要用心,女孩子也能学好!
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 8 楼 gooogleman 的回复:
嘿嘿,我不是高人!我们是同龄人,俺也是去年毕业的。
没有书就买呗,在www.china-pub.com才是20多块钱,
MM如果你在广州就借给你看看,哈哈

呵呵,我早知道前辈是去年毕业的了,所以更让人崇拜,才毕业一年进步这么神速!
给了我们后辈很多启示呀~~~
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

12
 
BOOL
XXX_IOControl(
    DWORD context,
    DWORD code,
    unsigned short* pInBuffer,
    DWORD inSize,
    unsigned short* pOutBuffer,
    DWORD outSize,
    DWORD *pOutSize
    )
{
        switch (code)
        {
            case pullHigh:
             {
               GPIO_SetPinOut()
               GPIO_SetPin
            
                break;
            }
            case pullLow:
               GPIO_SetPinOut()
               GPIO_SetPin
               break;
            default:
                   break;
        }
        return FALSE;
}
应用程序:
首先打开的你的设备驱动:
handle = CreateFile(L"XXX1:",
                GENERIC_WRITE|GENERIC_READ,
                FILE_SHARE_READ|FILE_SHARE_WRITE,
                0,
                OPEN_EXISTING,
                0,
                0);
其次,拉高调用:
DeviceIoControl(handle,pullHigh,0,0,NULL,0,NULL,NULL);
拉低调用:
DeviceIoControl(handle,pullLow,0,0,NULL,0,NULL,NULL);
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

13
 
引用 11 楼 xuguod20042576 的回复:
BOOL
XXX_IOControl(
? ? DWORD context,
? ? DWORD code,
? ? unsigned short* pInBuffer,
? ? DWORD inSize,
? ? unsigned short* pOutBuffer,
? ? DWORD outSize,
? ? DWORD *pOutSize
? ? )
{
? ? ? ? switch (code)
? ? ? ? {
? ? ? ? ? ? case pullHigh:
? ? {
? ? ? ? ? ? ? GPIO_SetPinOut()
? ? ? ? ? ? ? GPIO_SetPin
? ? ? ? ? ?
? ? ? ? break;
? ? }
? ? case pullLow:
? ? ? GPIO_SetPinOut()
? ? ? ? ? ? ? GPIO_SetPin
? ? ? ? ? ? ? break;
? ? default:
? break;
? ? ? ? }
return FALSE;
}
应用程序:
首先打开的你的设备驱动:
handle = CreateFile(L"XXX1:",
GENERIC_WRITE|GENERIC_READ,
FILE_SHARE_READ|FILE_SHARE_WRITE,
0,
OPEN_EXISTING,
0,
0);
其次,拉高调用:
DeviceIoControl(handle,pullHigh,0,0,NULL,0,NULL,NULL);
拉低调用:
DeviceIoControl(handle,pullLow,0,0,NULL,0,NULL,NULL);


前辈真是好人,很详细,很有用,谢谢了,我想再问一下这个应用程序是在WIN32里写吗?不好意思啊,我是真的菜鸟,呵呵
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

14
 
顶一个!
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

15
 
你问的问题比较杂,最好不要合起来提问,这样很难回答。


看样子,你使用了【流驱动】;

关于【流驱动】的资料很多,你需要详细了解一个【流驱动】的结构;

另外还有了解,在【应用层】如何调用【流驱动】。

如:

XXX_Open  对应应用层的  CreateFile
XXX_Read  对应应用层的  ReadFile

等等,资料很多,最简单的就是查看 PB 帮助。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

16
 
我这倒有个这样的小例子, 不过这个主要依赖于BSP是怎么定义的了

注:我也是菜鸟.
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

17
 
我有示例程序,还有资料,不过是2410的,要不??
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

18
 
2410的板子基本上是基于wince5.0的要移植到6.0的话还要改的吧
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

19
 
多谢各位大虾的指点,特别是xuguod20042576,结合了大家的意见,我要自已试着写这个小程序,先结贴了呵呵
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
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
快速回复 返回顶部 返回列表