Начните с C # и получите несколько вопросов - PullRequest
0 голосов
/ 16 мая 2011

Я новичок в мире C #, я уже сделал небольшое приложение в Cocoa / Obj-C для Mac, поэтому у меня есть немного багажа в мире кодирования.

Я хочу сделатьприложение для Windows, используя .NET.Я использую SharpDevelop в качестве IDE.Я должен контролировать сеть 1-Wire.Я скачал DLL и добавил ресурс в свой проект (используя com.dalsemi.onewire)

Я хочу использовать какой-то класс этого ресурса, но я не знаю, как получить логический код ...

Если кто-то может мне помочь, было бы неплохо.

Сеть onewire состоит только из коммутаторов, но я не знаю, как действовать дальше.Приложение должно только отправлять 1 или 0 на коммутаторы:

Я хочу кнопку, которая отправляет 1 на мои 50 коммутаторов (с командой 50 светодиодов).Включение должно быть разложено на 8 минут.Затем, когда все включены, они должны быть все в 0 и циклично (все до 1 за 8 минут).

И я хочу вторую кнопку, которая посылает 0 всем коммутаторам.

Если у кого-то будет время помочь мне, я буду в разведении :) API называется OneWireAPI.NET.dll

Извините за мой плохой английский, я французский парень ^^

1 Ответ

0 голосов
/ 16 мая 2011

Вы обязательно должны пойти на разделение между HW, которым вы пытаетесь манипулировать, и логикой, которая будет его контролировать.

Я не знаю, что вы пытаетесь сделать с 50 светодиодами, но я думаю, это какое-то световое шоу.

Вы определенно должны прочитать книгу на эту тему, но вот краткое изложение того, что вам, вероятно, лучше всего делать.

Я бы пошел с Visual Studio 2010 Express Edition (это бесплатно).

Я вижу два разных пути, в зависимости от того, сколько времени вы готовы инвестировать. И в зависимости от того, как долго вы планируете хранить / поддерживать модуль. И если есть только одно конкретное одноразовое использование, или если вы хотите иметь работающий двигатель общего назначения.

Альтернатива А - просто взломать. Создайте проект, добавьте ссылку на dll и используйте проводник объектов / intellisense / отражатель, чтобы увидеть, можете ли вы создать что-то, что манипулирует HW.

Альтернатива B - это больше работы, но это единственная реальная возможность, если вы планируете использовать ее в течение некоторого времени.

Сначала создайте интерфейс, представляющий огни.

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

Тогда у вас должно быть две реализации этого интерфейса. Тот, который показывает результат в реальном времени на экране (вывод текста, wpf или winform). Другая реализация должна использовать dll, о котором вы говорите, и манипулировать реальными светодиодами.

Затем вы должны начать создавать движок, который управляет интерфейсом. Вероятно, у вас также должен быть интерфейс Timer, чтобы вы могли использовать TDD для ваших анимаций / последовательностей. Этот модуль, вероятно, должен читать из ini-файла или какого-либо DSL.

...