从C#开始并得到一些问题

时间:2011-05-16 06:49:12

标签: c# windows api sharpdevelop 1wire

我是C#世界的新手,我已经在Cocoa / Obj-C for Mac中做了一个小应用程序,所以我在编码世界里有一个小行李。

我想使用.NET为Windows制作应用程序。我正在使用SharpDevelop作为IDE。 我必须控制1-Wire网络。 我下载了DLL并在我的项目中添加了ressource(使用com.dalsemi.onewire)

我想使用这个ressource的一些类,但我不知道如何继续使用逻辑代码......

如果有人可以帮助我,那就太好了。

onewire网络只由交换机组成,但我不知道如何继续。 应用程序只应将1或0发送到交换机:

我想要一个按钮,将1发送到我的50个开关(命令50个LED)。加电需要在8分钟时间内完成。然后,当所有人都打开时,他们需要全部为0并循环(所有在8分钟内为1)。

我想要第二个按钮,向所有开关发送0。

如果有人有时间帮助我,我会重新开始:) 该API称为OneWireAPI.NET.dll

抱歉我的英语很差,我是法国人^^

1 个答案:

答案 0 :(得分:0)

你一定要在你试图操纵的硬件和控制它的逻辑之间进行分离。

我不知道你要用50个LED做什么,但我猜它是某种灯光秀。

你绝对应该读一本关于这个主题的书,但这里有一篇关于你最喜欢做什么的概述。

我会选择Visual Studio 2010快递版(它是免费的)。

我看到两条不同的路径,取决于您愿意投入多少时间。并且取决于您计划保留/维护模块的时间。如果只有一次特定的一次性使用,或者你想拥有一般的运行引擎。

备选方案A只是劈开。创建一个项目,添加对dll的引用,并使用object explorer / intellisense / reflector来查看是否可以创建操作HW的东西。

备选方案B是更多的工作,但如果您打算在此之后继续使用它,那么它是唯一真正的选择。

首先创建一个代表灯光的界面。

public interface MyLights
{
     void SetRedLed(bool);
     bool SetGreenLed(bool);
       etc
}

然后,您应该有两个该接口的实现。一个在屏幕上显示结果的文本(文本输出,wpf或winform)。另一个实现应使用您所说的dll并操纵实际的LED。

然后你应该开始创建操纵界面的引擎。您可能还应该有一个Timer接口,以便您可以将TDD用于动画/序列。该模块可能应该从ini文件或某种DSL中读取。