天嵌 ARM开发社区

 找回密码
 注册
查看: 2295|回复: 4

新手请教一个问题

[复制链接]
wuwww1 发表于 2010-1-23 23:19:54 | 显示全部楼层 |阅读模式
我是个新手 刚刚接触 AEM9开发板 我用的VB2005编辑可一下开发板自带的那个LED测试程序 我也是按照那几个控制字
#define IO_CTL_GPIO_1_ON 0x01
#define IO_CTL_GPIO_2_ON 0x02
#define IO_CTL_GPIO_3_ON 0x03
#define IO_CTL_GPIO_4_ON 0x04
#define IO_CTL_GPIO_ALL_ON 0x05
#define IO_CTL_GPIO_1_OFF 0x06
#define IO_CTL_GPIO_2_OFF 0x07
#define IO_CTL_GPIO_3_OFF 0x08
#define IO_CTL_GPIO_4_OFF 0x09
#define IO_CTL_GPIO_ALL_OFF 0x0a
用DeviceIoControl 函数编写的的程序

但是运行的时候只能单独的某一个灯亮(如果灯一亮的同时, 点亮灯二,那么小灯一就会熄灭)
无法实现测试程序中的同时点亮多个小灯或者单独熄灭某一个小灯。

请各位高手告诉我一下为什么?
亚瑟王 发表于 2010-1-26 10:51:13 | 显示全部楼层
驱动是直接使用我们提供的吗?
应用程序响应部分的代码贴出来把。不然没法给你分析。
 楼主| wuwww1 发表于 2010-1-27 14:03:51 | 显示全部楼层
2# 亚瑟王

就是用的板子自己带的驱动啊  我把我的代码粘到下面把
Public Class Form1
    Public Const GENERIC_READ As Int32 = &H80000000
    Public Const GENERIC_WRITE As Int32 = &H40000000
    Public Const OPEN_EXISTING As Int32 = 3
    Public Const FILE_ATTRIBUTE_NORMAL As Int32 = &H80
    Public Const NOPARITY As Int32 = 0
    Public Const ONESTOPBIT As Int32 = 0
    Public Const IO_CTL_GPIO_1_ON As Int32 = &H1
    Public Const IO_CTL_GPIO_2_ON As Int32 = &H2
    Public Const IO_CTL_GPIO_3_ON As Int32 = &H3
    Public Const IO_CTL_GPIO_4_ON As Int32 = &H4
    Public Const IO_CTL_GPIO_ALL_ON As Int32 = &H5
    Public Const IO_CTL_GPIO_1_OFF As Int32 = &H6
    Public Const IO_CTL_GPIO_2_OFF As Int32 = &H7
    Public Const IO_CTL_GPIO_3_OFF As Int32 = &H8
    Public Const IO_CTL_GPIO_4_OFF As Int32 = &H9
    Public Const IO_CTL_GPIO_ALL_OFF As Int32 = &HA




    Dim iHandle As IntPtr
    Public Declare Function CreateFile Lib "coredll.dll" _
             (ByVal lpFileName As String, ByVal dwDesiredAccess As Integer, ByVal dwShareMode As Integer, ByVal lpSecurityAttributes As Integer, ByVal dwCreationDisposition As Integer, ByVal dwFlagsAndAttributes As Integer, ByVal hTemplateFile As Integer) As IntPtr
    Public Declare Function DeviceIoControl Lib "coredll.dll" _
         (ByVal hDevice As Integer, ByVal dwIoControlCode As Integer, ByVal lpInBuffer As Integer, ByVal nInBufferSize As Integer, ByVal lpOutBuffer As Integer, ByVal nOutBufferSize As Integer, ByVal lpBytesReturned As Integer, ByVal lpOverlapped As Integer) As Boolean




    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        iHandle = CreateFile("GIO1:", GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0)
        iHandle = DeviceIoControl(iHandle.ToInt32, IO_CTL_GPIO_1_ON, 0, 0, 0, 0, 0, 0)
    End Sub

    Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
        Me.Close()

    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        iHandle = CreateFile("GIO1:", GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0)
        iHandle = DeviceIoControl(iHandle.ToInt32, IO_CTL_GPIO_1_OFF, 0, 0, 0, 0, 0, 0)
    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Button1.Text = "第一个灯亮"
        Button2.Text = "第二个灯亮"
        Button3.Text = "第三个灯亮"
        Button4.Text = "第四个灯亮"
        Button5.Text = "第一个灯灭"
        Button6.Text = "第二个灯灭"
        Button7.Text = "第三个灯灭"
        Button8.Text = "第四个灯灭"
        Button9.Text = "退出"
        Button10.Text = "四个灯全亮"
        Button11.Text = "四个灯全灭"
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        iHandle = CreateFile("GIO1:", GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0)
        iHandle = DeviceIoControl(iHandle.ToInt32, IO_CTL_GPIO_2_ON, 0, 0, 0, 0, 0, 0)

    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        iHandle = CreateFile("GIO1:", GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0)
        iHandle = DeviceIoControl(iHandle.ToInt32, IO_CTL_GPIO_3_ON, 0, 0, 0, 0, 0, 0)
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        iHandle = CreateFile("GIO1:", GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0)
        iHandle = DeviceIoControl(iHandle.ToInt32, IO_CTL_GPIO_4_ON, 0, 0, 0, 0, 0, 0)
    End Sub

    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        iHandle = CreateFile("GIO1:", GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0)
        iHandle = DeviceIoControl(iHandle.ToInt32, IO_CTL_GPIO_2_OFF, 0, 0, 0, 0, 0, 0)
    End Sub

    Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        iHandle = CreateFile("GIO1:", GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0)
        iHandle = DeviceIoControl(iHandle.ToInt32, IO_CTL_GPIO_3_OFF, 0, 0, 0, 0, 0, 0)
    End Sub

    Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
        iHandle = CreateFile("GIO1:", GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0)
        iHandle = DeviceIoControl(iHandle.ToInt32, IO_CTL_GPIO_4_OFF, 0, 0, 0, 0, 0, 0)
    End Sub

    Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
        iHandle = CreateFile("GIO1:", GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0)
        iHandle = DeviceIoControl(iHandle.ToInt32, IO_CTL_GPIO_ALL_ON, 0, 0, 0, 0, 0, 0)
    End Sub

   
    Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
        iHandle = CreateFile("GIO1:", GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0)
        iHandle = DeviceIoControl(iHandle.ToInt32, IO_CTL_GPIO_ALL_OFF, 0, 0, 0, 0, 0, 0)
    End Sub
End Class
亚瑟王 发表于 2010-1-28 20:59:41 | 显示全部楼层
搞成附件贴出来吧,这样贴看起来太费劲了。
 楼主| wuwww1 发表于 2010-1-29 20:39:44 | 显示全部楼层
我把我编的程序通过附件发到这里了  请高手帮我看看

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

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

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-21 06:25 , Processed in 1.031250 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表