我是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
抱歉我的英语很差,我是法国人^^
答案 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中读取。