8693|13

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

c# wince 控制GPIO? [复制链接]

我用c#在2440上面编写应用程序,开发速度快~
但是c#怎么碰到底层硬件,怎样直接控制2440的GPIO,
evc当中有个内存映射的东西,但是在c#下面怎么搞??

网上查了下,c#的都是LED的那个,但问题是 GPIO的话是不是得先要写个GPIO驱动的DLL,然后再去createfile??

等待高手~~
此帖出自WindowsCE论坛

最新回复

C++肯定离不开,做简单C#趋势啊  详情 回复 发表于 2010-5-31 15:52
点赞 关注
 

回复
举报

78

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
是的 回复内容太短了!
此帖出自WindowsCE论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
很讨厌C#
要弄个DLL。呵呵
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

4
 
C#挺好啊
此帖出自WindowsCE论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

5
 
弄DLL要怎样弄才能让c#引用???
此帖出自WindowsCE论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

6
 
帮顶了~~据说以后C#是趋势呢~
此帖出自WindowsCE论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
是的,完成后需要和XX_GPIO.DLL一起下载到目标机。
此帖出自WindowsCE论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

8
 
C#引用C++的DLL很简单啊,只要添加引用,然后将C++里的函数导出来即可.
此帖出自WindowsCE论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 4 楼 beyongmind 的回复:
弄DLL要怎样弄才能让c#引用???


P/Invoke
此帖出自WindowsCE论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

10
 
I2CBridge.h:

  1. #ifdef I2CBRIDGE_EXPORTS
  2. #define I2CBRIDGE_API __declspec(dllexport)
  3. #else
  4. #define I2CBRIDGE_API __declspec(dllimport)
  5. #endif

  6. class CI2CBridge
  7. {
  8. public:

  9.         static I2CBRIDGE_API BOOL InitI2CBridge(DWORD nWriteAddress, DWORD nReadAddress, DWORD nI2CClock, DWORD nI2CPort);

  10.         static I2CBRIDGE_API VOID DeinitI2CBridge(void);

  11.         static I2CBRIDGE_API BOOL WriteRegisters(PBYTE pBuff, DWORD nRegs);

  12.         static I2CBRIDGE_API BOOL ReadRegisters(PBYTE pBuff, PBYTE pAddr, DWORD nAddrLength, DWORD nRegs);
  13. };
复制代码

I2CBridge.cpp: 上述函数的具体实现

Invoker.cs:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Runtime.InteropServices;
  4. using System.Text;

  5. namespace I2CUtility
  6. {
  7.     class I2CInvoke
  8.     {
  9.         [DllImport("I2CBridge.dll", EntryPoint = "InitI2CBridge", CharSet = CharSet.Auto)]
  10.         public static extern bool InitI2CBridge(Int32 nWriteAddress, Int32 nReadAddress, Int32 nI2CClock, Int32 nI2CPort);

  11.         [DllImport("I2CBridge.dll", EntryPoint = "DeinitI2CBridge", CharSet = CharSet.Auto)]
  12.         public static extern void DeinitI2CBridge();

  13.         [DllImport("I2CBridge.dll", EntryPoint = "WriteRegisters", CharSet = CharSet.Auto)]
  14.         public static extern bool WriteRegisters(Byte[] pBuff, Int32 nRegs);

  15.         [DllImport("I2CBridge.dll", EntryPoint = "ReadRegisters", CharSet = CharSet.Auto)]
  16.         public static extern bool ReadRegisters(Byte[] pBuff, Byte[] pAddr, Int32 nAddrLength, Int32 nRegs);
  17.     }
  18. }
复制代码


此帖出自WindowsCE论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

11
 
俺喜欢c#,哈哈,需要导入dll
此帖出自WindowsCE论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

12
 
我是先在BSP里添加GPIO驱动,然后在C#里面声明一下函数就可以控制了
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

13
 
c++可以直接操作GPIO的寄存器
C#不了解
此帖出自WindowsCE论坛
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(初级)

14
 
C++肯定离不开,做简单C#趋势啊
此帖出自WindowsCE论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

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