Начните с С# и получите несколько вопросов

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

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

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

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

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

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

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

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

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

0
задан Arnaud Cresp 16 мая '11 в 9:49
источник поделиться
1 ответ

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

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

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

Я бы пошел с визуальной студией 2010 Express Edition (это бесплатно).

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

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

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

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

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

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

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

0
ответ дан Tormod 16 мая '11 в 10:32
источник поделиться

Другие вопросы по меткам или Задайте вопрос