windows - Start med C # og få nogle spørgsmål

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg er frisk ny til C # verden, jeg har allerede lavet en lille applikation i Cocoa/Obj-C til Mac, så jeg har en lille bagage i kodningsverdenen.


Jeg vil gerne lave en app til Windows ved hjælp af .NET. Jeg bruger SharpDevelop som IDE.
Jeg skal styre et 1-Wire netværk.
Jeg hentede DLL'en og tilføjer ressource i mit projekt (ved hjælp af com.dalsemi.onewire)


Jeg vil gerne bruge en klasse af denne ressource, men jeg ved ikke hvordan man skal fortsætte med at have en logisk kode ...


Hvis nogen kan hjælpe mig, ville det være dejligt.


Onewire-netværket er kun komponeret af switche, men jeg ved ikke hvordan man skal fortsætte.
Appen skal kun sende 1 eller 0 til afbryderne:


Jeg vil have en knap, der sender 1 til min 50 switches (som kommandoen 50 led). Strømningen skal sprænges i 8 minutter. Så når alle er tændt, skal de være alle til 0 og loop (alt til 1 om 8 minutter).


Og jeg vil have en anden knap, der sender 0 til alle kontakterne.


Hvis nogen har tid til at hjælpe mig, vil jeg være rekoncentreret :)
API'en hedder OneWireAPI.NET.dll


Undskyld for min dårlige engelsk, jeg er en fransk fyr ^^

Bedste reference


Du skal helt sikkert gå efter en adskillelse mellem den HW, du forsøger at manipulere og den logik, der skal styre den.


Jeg ved ikke hvad du forsøger at gøre med de 50 lysdioder, men jeg ville gætte, at det er en slags lys show.


Du bør helt sikkert læse en bog om emnet, men her er en oversigt over, hvad du sandsynligvis bedst tjener.


Jeg ville gå med visuel studio 2010 ekspressudgave (det er gratis).


Jeg ser to forskellige stier, afhængigt af hvor meget tid du er villig til at investere. Og afhængigt af hvor længe du planlægger at holde/vedligeholde modulet. Og hvis der kun er en specifik engangsbrug, eller hvis du vil have en generel løbende motor.


Alternativ A er bare at hakke væk. Opret et projekt, tilføj en reference til dll og brug objekt explorer/intellisense/reflektor for at se, om du kan oprette noget, der manipulerer HW.


Alternativ B er mere arbejde, men er den eneste rigtige mulighed, hvis du planlægger at bruge dette i et stykke tid.


Opret først en grænseflade, der repræsenterer lysene.


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


Derefter skal du have to implementeringer af den grænseflade. En, der viser resultatet, lever på skærmen (tekstudgang, wpf eller winform). Den anden implementering skal bruge den dll, som du taler om og manipulere rigtige lysdioder.


Så skal du begynde at oprette den motor, der manipulerer grænsefladen. Du skal også have en Timer-grænseflade, så du kan bruge TDD til dine animationer/sekvenser. Dette modul skal nok læses fra en ini-fil eller en slags DSL.