Hvilket sprog til at styre COM-port?

Software d.  18. marts. 2011, skrevet af Cube2
Vist: 677 gange.

Cube2
 
Superbruger
Tilføjet:
18-03-2011 08:30:32
Svar/Indlæg:
375/46
Overskriften siger det meste, sagen er at skal til at lave et projekt i skolen, hvor jeg skal styre noget elektronik via. en computers COM-port, så vil lige høre hvad i ville bruge for et sprog til det formål?
N/A
 
Enthusiast
Tilføjet:
18-03-2011 09:00:31
Svar/Indlæg:
221/2
C


cyph3r_smurf
 
Elitebruger
Tilføjet:
18-03-2011 12:20:05
Svar/Indlæg:
825/30
Tjah, hvad er det nærmere bestemt du vil ? Du kunne f.eks. også bruge seriel porten til at kommuniktere med en microcontroller der kunne styre din elektronik.

f.eks. arduino


Cube2
 
Superbruger
Tilføjet:
18-03-2011 13:36:58
Svar/Indlæg:
375/46
Skal bruge com-porten til at kommunikere med en DS1621 eller måske en I2C


Zorba
 
Superbruger
Tilføjet:
18-03-2011 14:29:50
Svar/Indlæg:
1142/59
Hvis du kan finde navnet på COM porten i Windows, så kan du også benytte .NET til det. Der er en klasse kaldet System.IO.Ports.SerialPort, som klarer det uden problemer. Du kan også finde mange eksempler på C# serial communication, hvis du tager en tur forbi google.

Du sætter det op med noget ala:

SerialPort sp = new SerialPort("COMx"); // x = et tal
sp.BaudRate = 9600;
sp.Open();
sp.Write(...);
sp.ReadByte(); // flere read metoder tilgængelige
sp.Close();

PS: Hvis du mangler en IDE så er der Visual C# Express eller SharpDevelop. Begge er gratis.


Svaret blev redigeret 1 gang, sidst af Zorba d. 18-03-2011 14:30:19.


Taff
 
Superbruger
Tilføjet:
18-03-2011 14:44:47
Svar/Indlæg:
22/1
Hvilken sprog kan du? Brug det du kan! Om det er C, C#, C++ eller Java eller hvad du kan af sporg. Så kan det som regel løse opgave.

DS1621 er temperaturføler hvis interface er I2C. Som jeg forstå det, så skal du kunne aflæse temperaturen og evt. få en alarm. De data sendes til Com-porten, og der skal dit program læse dem.


Cube2
 
Superbruger
Tilføjet:
18-03-2011 14:53:57
Svar/Indlæg:
375/46
#5 Bliver nok java så

Kan i svare på om det er muligt at styre et display og et relæ, samtidig med at der sendes et clock signal til DS1621 og at der er et input fra DS1621 gennem com-porten.

Ellers skal der bare kobles DS1621 og et relæ til, men et display ville være en herlig detalje


N/A
 
Enthusiast
Tilføjet:
21-03-2011 14:44:08
Svar/Indlæg:
221/2
Så længe det hele understøtter i2c, burde det ikke være et problem. Jeg ved ikke lige hvad du mener med clock signal til DS1621'en, den skal så vidt jeg kan se ikke have separat clock signel, bare almindelig SCLK? Og måske du i virkeligheden vil styre relæet med Tout?


N/A
 
Enthusiast
Tilføjet:
21-03-2011 14:47:12
Svar/Indlæg:
221/2
Hvis dit display ikke understøtter i2c, kan du nemt lave/købe et i2c -> LCD piggyback kort.


N/A
 
Enthusiast
Tilføjet:
21-03-2011 16:03:25
Svar/Indlæg:
221/2
Ehm, det skal så også lige siges at det ikke er sådan lige til at få en rs232 port til at snakke med en i2c bus. Hvis du ikke er super skarp til bit-banging (det lyder ikke sådan) ville jeg råde dig til at købe/bygge en converter ala: http://www.gedanken.demon.co.u...
(husk også at konvertere fra +-12v til ttl! F.eks. med en MAX232 kreds).


heinrich
 
Elitebruger
Tilføjet:
21-03-2011 16:30:48
Svar/Indlæg:
1341/56


#0
hvis du vil bit-bange det, så er jeg lige ved at tro at det ville være noget nemmere at bruge en parallel port til det, der har du TTL niveauer, og der er såvidt jeg husker rimeligt nemt at styre de enkelte data ben..


#11
Skum
 
Overclocker
Tilføjet:
23-03-2011 21:54:19
Svar/Indlæg:
24/0
Hvis du vil bruge i2c så tjek lige om du evt. har SMbus headere på dit bundkort, idet SMbus er bygget på i2c og ofte meget let kan gøres i2c kompatibelt. Ellers er parallelporten nok det bedste bud ville jeg også mene...

Til at lave styringen ville jeg helt klart bruge Linux og C/C++, det er hammerlet imo, om det så er i2c, parallel eller serielt, så er tilgangen i Linux meget mere straight forward end i Windows... Check især: http://www.easysw.com/~mike/se...


Svaret blev redigeret 2 gange, sidst af Skum d. 23-03-2011 21:57:01.