在R

时间:2019-09-05 21:35:22

标签: r mmap memory-mapping

我正在尝试完全使用R控制数模转换器-甚至有可能。

我从设备中获得的源代码似乎是在将特定的字节写入内存映射文件,因此我认为我会使用mmap包并尝试执行相同的操作。

这是正确的方法吗?即我可以通过简单地写入内存映射文件来复制此C#代码吗?在这种情况下,为“ EECI_DAC8U10_IN”

导入System.IO 导入System.IO.MemoryMappedFiles

公开课表格1     '在运行此示例之前,加载DAC-8U10设备驱动程序     “这是最简单的示例,它在通道1上设置模拟电平,如果未加载DAC-8U10设备驱动程序,则会生成一条错误消息

Dim mask, bit, X As Integer
Dim relayByte = New Byte(30) {}

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Label6.Text = Str(Int(Val(TextBox3.Text) / 4))                  'show MS byte
    Label7.Text = Str(Val(TextBox3.Text) - (Val(Label6.Text) * 4))  'show LS byte

    relayByte(3) = Val(Label6.Text)     'store MS byte
    relayByte(4) = Val(Label7.Text)     'store LS byte
    SetOutput() 'set 
End Sub

Private Sub SetOutput()         'this is the single line of code needed to set all 8 analog levels on the DAC-8U10
    Try
        MemoryMappedFile.OpenExisting("EECI_DAC8U10_IN").CreateViewAccessor(0, relayByte.Length).WriteArray(Of Byte)(0, relayByte, 0, relayByte.Length)     'send byte array to DAC-8U10 device driver
    Catch noFile As FileNotFoundException
        MsgBox("No Data - Please load DAC-8U10 Driver", , "System Message")  'put code here to autostart software interface
        End
    Catch Ex As Exception
        MsgBox(Ex.GetType.ToString, , "System Message")
        End
        'exception code can go here
    End Try
End Sub

结束班级

0 个答案:

没有答案