资源简介
C#控制GPIO
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.IO.Ports;
using System.Security;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Threading;
namespace GPIO
{
public partial class Form1 : Form
{
[DllImport(“coredll.dll“ EntryPoint = “DeviceIoControl“ SetLastError = true)]
internal static extern int DeviceIoControl(
IntPtr hDevice
int dwIoControlCode
byte[] lpInBuffer
int nInBufferSize
byte[] lpOutBuffer
int nOutBufferSize
ref int lpBytesReturned
IntPtr lpOverlapped);
[DllImport(“coredll.dll“)]
private static extern IntPtr CreateFile(
string lpFileName
// 要打开的串口名称
uint dwDesiredAccess
// 指定串口的访问方式一般设置为可读可写方式
int dwShareMode
// 指定串口的共享模式串口不能共享所以设置为0
int lpSecurityAttributes
// 设置串口的安全属性WIN9X下不支持应设为NULL
int dwCreationDisposition
// 对于串口通信创建方式只能为OPEN_EXISTING
int dwFlagsAndAttributes
// 指定串口属性与标志设置为FILE_FLAG_OVERLAPPED( 重叠I/O操作 )指定串口以异步方式通信
int hTemplateFile
// 对于串口通信必须设置为NULL
);
private const uint GENERIC_READ = 0x80000000;
private const uint GENERIC_WRITE = 0x40000000;
private const int OPEN_EXISTING = 3;
public Form1()
{
InitializeComponent();
}
IntPtr gpiodriver;
private void button1_Click(object sender EventArgs e)
{
gpiodriver = CreateFile(“GIO1:“ GENERIC_READ | GENERIC_WRITE 0 0 OPEN_EXISTING 0 0);
if (gpiodriver == (IntPtr)(-1))
{
MessageBox.Show(“打开GPIO设备失败!“);
}
else
{
int bytesReturned = 0;
DeviceIoControl(gpiodriver 0x01 null 0 null 0 ref bytesReturned IntPtr.Zero);
Thread.Sleep(5000);
DeviceIoControl(gpiodriver 0x02 null 0 null 0 ref bytesReturned IntPtr.Zero);
Thread.Sleep(5000);
DeviceIoControl(gpiodriver 0x03 null 0 null 0 ref bytesReturned IntPtr.Zero);
Thread.Sleep(5000);
DeviceIoControl(gpiodriver 0x04 null 0 null 0 ref bytesReturned IntPtr.Zero);
Thread.Sleep(5000);
DeviceIoControl(gpiodriver 0x06 null 0 null 0 ref bytesReturned IntPtr.Zero);
Thread.Sleep(5000);
DeviceIoControl(gpiodriver 0x07 null 0 null 0 ref bytesReturned IntPtr.Zero);
Thread.Sleep(5000);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7680 2012-09-04 15:43 GPIO\GPIO\bin\Debug\GPIO.exe
文件 19968 2012-09-04 15:43 GPIO\GPIO\bin\Debug\GPIO.pdb
文件 3525 2012-09-04 16:06 GPIO\GPIO\Form1.cs
文件 2163 2012-09-04 14:56 GPIO\GPIO\Form1.Designer.cs
文件 6298 2012-09-04 14:56 GPIO\GPIO\Form1.resx
文件 4057 2012-09-04 15:14 GPIO\GPIO\GPIO.csproj
文件 198 2012-09-04 15:22 GPIO\GPIO\GPIO.csproj.user
文件 842 2012-09-04 15:14 GPIO\GPIO\obj\Debug\GPIO.csproj.GenerateResource.Cache
文件 7680 2012-09-04 15:43 GPIO\GPIO\obj\Debug\GPIO.exe
文件 180 2012-09-04 15:14 GPIO\GPIO\obj\Debug\GPIO.Form1.resources
文件 19968 2012-09-04 15:43 GPIO\GPIO\obj\Debug\GPIO.pdb
文件 180 2012-09-04 15:14 GPIO\GPIO\obj\Debug\GPIO.Properties.Resources.resources
文件 527 2012-09-04 15:43 GPIO\GPIO\obj\GPIO.csproj.FileListAbsolute.txt
文件 349 2012-09-04 14:26 GPIO\GPIO\Program.cs
文件 1123 2012-09-04 14:26 GPIO\GPIO\Properties\AssemblyInfo.cs
文件 2345 2012-09-04 14:26 GPIO\GPIO\Properties\Resources.Designer.cs
文件 5618 2012-09-04 14:26 GPIO\GPIO\Properties\Resources.resx
文件 1067 2012-09-04 14:26 GPIO\GPIO.sln
..A..H. 14336 2012-09-04 16:26 GPIO\GPIO.suo
目录 0 2012-09-04 14:26 GPIO\GPIO\obj\Debug\TempPE
目录 0 2012-09-04 15:19 GPIO\GPIO\bin\Debug
目录 0 2012-09-04 15:43 GPIO\GPIO\obj\Debug
目录 0 2012-09-04 14:26 GPIO\GPIO\bin
目录 0 2012-09-04 15:14 GPIO\GPIO\obj
目录 0 2012-09-04 14:26 GPIO\GPIO\Properties
目录 0 2012-09-04 16:06 GPIO\GPIO
目录 0 2012-09-04 14:26 GPIO
----------- --------- ---------- ----- ----
98104 27
............此处省略0个文件信息
- 上一篇:C# 三角形网格等值线绘制案例源码
- 下一篇:C# 自定义带搜索下拉框
相关资源
- C# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- lua C# .Net4.0 vs2010 LuaInterface
- C#十六进制编辑器
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
- 有史以来最简单的三层(C#)
- vb调用c#编写的串口DLL文件(vb源码
评论
共有 条评论