Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过USB的RS232与UNOC平台#_C#_Serial Port_Usb_Uno Platform - Fatal编程技术网

C# 通过USB的RS232与UNOC平台#

C# 通过USB的RS232与UNOC平台#,c#,serial-port,usb,uno-platform,C#,Serial Port,Usb,Uno Platform,我想用我的Raspberry pi 4和Uno GUI控制我音乐盒的功率放大器。 该设备有一个使用rs232串行通信协议的subd9插座。 我使用usb到串行转换器电缆,并希望使用raspberrys usb端口进行此操作 我需要发送的命令是十六进制的,看起来像'' 02 00 00 01 03 我寻找解决办法,但找不到合适的办法。 有人知道我怎样才能做到这一点吗 感谢您的帮助我已安装system.io.ports的V5.0.1版本,没有任何错误。我使用System.IO.ports添加到Mai

我想用我的Raspberry pi 4和Uno GUI控制我音乐盒的功率放大器。 该设备有一个使用rs232串行通信协议的subd9插座。 我使用usb到串行转换器电缆,并希望使用raspberrys usb端口进行此操作

我需要发送的命令是十六进制的,看起来像'' 02 00 00 01 03

我寻找解决办法,但找不到合适的办法。 有人知道我怎样才能做到这一点吗


感谢您的帮助

我已安装system.io.ports的V5.0.1版本,没有任何错误。我使用System.IO.ports添加到Mainpage.cs。在智能状态下,会出现一条警告(图)

据说是德国的

Nicht verfügbar=不可用 verfügbar=可用

当我从jdweng中添加代码示例时,会出现这种情况(图2)

它说: 错误CS1069在命名空间System.IO.Ports中找不到类型名“SerialPort”。此类型已转发到Assembly System.IO.Ports,版本=0.0.0.0,区域性=中性,PublicKeyToken=CC7B13FFCD2DD51。您应该添加对程序集的引用。Test.Skia.Gtk C:“用户”User-source-repos-Test-Test-Test.Shared-MainPage.xaml.cs 54处于活动状态

编辑时间:2021年5月26日15:20 我在项目中的每个头上都安装了Nuget包,现在所有错误都消失了。但现在当我尝试发送jdweng时,我尝试显示一个例外:


下面是我没有的完整描述:

  • 带有跨平台应用程序(UNO框架)模板的新项目

  • 为简单起见,删除了Gtk和Uwp的所有头例外

  • 在主页上做了一个按钮

  • 在按钮单击事件中包含此代码

  • 开始,然后事情发生了:


  • 我想你把一些事情搞混了。System.IO.Ports是C#中用于串行端口通信的库。这与您想要使用的GUI技术无关(因为rs232通信不是特定于Ui的)。GTK是针对Linux的C/C++桌面API,如果使用uno,您不必关心它?为了编程和调试,我使用我的windows笔记本电脑。当iam使用diretive将Serial.IO.Port添加到我的代码中时,它显示这对UWP头可用,但对其他7个头不可用,包括GTK头,这是我需要在Raspbian上运行uno的头。这让我感到困惑。我以前没有使用过uno,但是有很多类似的框架,我不明白为什么这意味着依赖System.IO.Ports。你能给出你得到的确切错误信息吗?嗯,好吧,如果这让我感到困惑,我编辑我的问题a bitA Q&D解决方案:如果我想传输一个二进制字符串,我会使用二进制/十六进制编辑器创建一个二进制文件,其中包含所需的字节值。然后我将使用
    minicom
    发送该(“ascii”)文件。您需要在构造函数后插入
    port.Open()
    。使用另一个构造函数,参数为零的构造函数总是以任意波特率打开COM1,这不太可能是正确的。@pmf i inserted port.PortName=“COM4”;波特率=9600;port.DataBits=8;端口奇偶性=奇偶性。无;port.Open();但现在我得到一个解释说“一个信号量发了太多帖子”,你确实有奇怪的问题;-)。。。我不知道现在这意味着什么。这在哪里发生?您是否试图在循环中执行代码(没有适当的处理)?@PMF我将用我的设置的全部描述来回答您。您应该编辑您的答案(或者更好的是,问题),而不是创建新的答案。您可能希望编辑原始问题,而不是发布新的答案。您遇到了UWP应用程序中的权限问题,已在此处回答: