AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

NrComm Lib

Ein Thema von freddygloves · begonnen am 14. Aug 2011 · letzter Beitrag vom 17. Aug 2011
Antwort Antwort
freddygloves

Registriert seit: 14. Aug 2011
Ort: Tettnang
7 Beiträge
 
Delphi XE Architect
 
#1

AW: NrComm Lib

  Alt 16. Aug 2011, 06:14
Hallo,

muss zwar nochmal meine Com-Port Konfig seitens Delphi sowie seitens meines Atmels bzw. dessen Programms abchecken. Weil irgendwie tut das nicht so wie ich will.

Für mein Verständnis
habe es bisher so versucht

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var decVal:AnsiString;
c_output:AnsiChar;
begin
  decVal:=Edit1.Text;
  c_output:=AnsiChar(StrToInt(decValue));
  ApdComPort1.Output:= c_output;
end;
Habe da ein wenig rum versucht mal mit Ansi und ohne und so weiter...

Wie schon gesagt für mein Verständnis:
Ich lese nun den Wert 128 ein --> entspricht laut Ansi Tabelle '€'
das bedeutet von seitens meines Laptop müssten die 8 Datenbits doch so aussehen.
1000 0000bin = 128dez = '€'

Auszug aus meinem C51-Code ohne Interrupts bisher noch
Code:
...
WHILE(RI==0);
zeichen=SBUF; //Speichern des Bufferinhalt in char zeichen
RI=0;
Port0=zeichen; //Inhalt Variable zeichen an Port0 ausgeben
Also müsste doch nun auf Empfangseite in der Variable zeichen dementsprechend der Hexwert 80hex für 128dez stehen.

Ich bin mir nicht ganz sicher ob für meine Aufgabe die AsyncPro bzw. NrComm die richtige Wahl sind. Ich habe später ein haufen Byte-Commands die übertragen werden müssen und ich tue mir schon bei einem schwer...
Oli
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: NrComm Lib

  Alt 16. Aug 2011, 06:58
Hallo,
muss zwar nochmal meine Com-Port Konfig seitens Delphi sowie seitens meines Atmels bzw. dessen Programms abchecken. Weil irgendwie tut das nicht so wie ich will.
Das wäre auf jedenfall das erste, dass du testen solltest. Ich würde auch immer zur Validierung ein Programm empfehlen, dass sicher Funktioniert. Ich bevorzuge in Fällen der RS-232-Kommunikation z.B. HTerm

Für mein Verständnis
habe es bisher so versucht
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var decVal:AnsiString;
c_output:AnsiChar;
begin
  decVal:=Edit1.Text;
  c_output:=AnsiChar(StrToInt(decValue));
  ApdComPort1.Output:= c_output;
end;
Habe da ein wenig rum versucht mal mit Ansi und ohne und so weiter...
Bei deisne Tests kann ja schon einiges neben raus gehen. Versuche die Probleme die du hast zu teilen. Um mit dem COM-Port vertraut zu werden, sollte sich an den "anderen" veränderbaren so wenig wie möglich ändern (Char / Bytefolge / Ansi / Unicode - gedöhns). Schick doch Hard-Coded ein Byte / eine Bytefolge rüber. z.B.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
const
  THE_SIGN: AnsiChar = #$80;//= 128dez = '€';
begin
  ApdComPort1.Output:= EURO_SIGN;
end;
Sprich, mach eines nach dem anderen. Wenn du es mal schaffst ein Hard-Kodiertest Zeichen zu senden, dann kann du dir als nächstes Überlegen, wie du unterschiedliche Zeichen(folgen) sendest.

Ich bin mir nicht ganz sicher ob für meine Aufgabe die AsyncPro bzw. NrComm die richtige Wahl sind. Ich habe später ein haufen Byte-Commands die übertragen werden müssen und ich tue mir schon bei einem schwer...
Wenn du viel zu übertragen hast, macht das doch kaum noch einen Unterschied zu einem Byte Kannst du eins - kannst du viele. Also das eine sauber lernen wie es geht, dann kannst du auch viele Übertragen.

Gruß, Chris

BTW:
Also ich verwende Delphi XE Architect bei mir zuhause und im Unternehmen haben wir Delphi XE Professional.
WOW - nicht schlecht. Das war mal ne Stange Geld.
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
freddygloves

Registriert seit: 14. Aug 2011
Ort: Tettnang
7 Beiträge
 
Delphi XE Architect
 
#3

AW: NrComm Lib

  Alt 16. Aug 2011, 08:12
Ok,
muss des ganze nommel probieren.
Einen hard codierten Wert habe ich schonmal ausprobiert.
Aber wie schon gesagt. Jetzt erstmal schauen ob die Settings stimmen.
Baudrate, No-Parity etc... für den Versuch.
Werde da mal weiter berichten...

BTW:
Der Architect ist ne Trial und begrenzt...
Aber das Lapi vom Geschäft kann ich dann später weiterverwenden und da ist das Proffesional drauf.
Habe es nur bei mir auf em Laptop mal installiert, weil unter XP die USB-RS232 Konverter laufen und der Treiber für Win 7 sprich "Geschäftslaptop" noch nicht drauf ist...
Oli
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#4

AW: NrComm Lib

  Alt 16. Aug 2011, 09:27
Welchen Typ hat denn ApdComPort1.Output ?


Der Architect ist ne Trial und begrenzt...
Hatte ich mir schon gedacht, also dann wünsch ich dir mal, daß du alles in den 30 Tagen fertigbekommst.

(PS: eine Mail an germany.info@embarcadero.com und eventuell verlängern die einem die Trial, ansonsten kannst'e ja privat immernoch für ~150€ die "XE Starter"-Version nehmen, also das Upgrade)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
freddygloves

Registriert seit: 14. Aug 2011
Ort: Tettnang
7 Beiträge
 
Delphi XE Architect
 
#5

AW: NrComm Lib

  Alt 16. Aug 2011, 20:41
Manchmal ist es leichter als man denkt.

Ok 1. Problem war mal ne falsche Baudrate seitens meines Laptop. Klar Microcontroller geht von 9600 Baud aus Laptop hämmert mit 19200 auf den guten ein

Zu der Frage ApdComPort1.Output will einen AnsiChar haben.

im Endeffekt funzt des jetzt viel leichter. Danke mit dem Tipp so wenig wie möglich zu casten bzw. umzuwandeln.

Hab hier noch ein cooles Tool anstelle von HTerm (konnte da nur Zeichen generieren und mal gucken was so mein Microcontroller macht aber trotzdem Danke war auch schon hilfreich).
Und zwar nämlich den Free Serial Port Monitorhttp://www.heise.de/software/downloa..._monitor/26030

Hat mir auf jeden Fall geholfen um mal zu sehen was da so hin und her geschickt wurde...

Naja auf jeden Fall mein Code fürs Senden sieht jetzt so aus:
Delphi-Quellcode:
//var counter:integer=0;
procedure TForm1.Button1Click(Sender: TObject);
var myInt:integer;
begin
    //inc(counter);
    myInt:=StrToInt(Edit1.Text);
    ApdComPort1.Output:=AnsiChar(myInt);
end;
Und fürs Empfangen sieht er so aus:
Delphi-Quellcode:
procedure TForm1.EmpfangenClick(Sender: TObject);
var C:AnsiChar;
begin
  C := ApdComPort1.GetChar;
  Edit2.Text:=IntToStr(Ord(C));
end;
Das ganze funktioniert ja schon mal bin jetzt mal happy und lass es für heute gut sein.

BTW:
Um meine Lizens brauch ich mir keine Sorgen machen wie schon gesagt, unser Unternehmen stellt mir auch noch einen Laptop für meine Technikerarbeit, da ist Delphi XE Professional drauf.
Ich habe bis Mai 2012 Zeit die ganze Sache zu programmieren. Aber ich dachte ich fang jetzt mal mit Üben an, um vertraut mit Delphi zu werden, bin immerhin Elektroniker und kein ITler bzw. Programmierer. Wobei man heute echt alles als Elektroniker können sollte
Aber ich glaub ich schreib die Trotzdem mal anwegen der Lizensverlängerung. Wir Schwaben sagen immer "Oim gschenkta Gaul, schaut ma id ins Maul"
Danke für den Tipp.
Oli
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#6

AW: NrComm Lib

  Alt 16. Aug 2011, 20:55
Die ersten widrigen Erfolge kannst'e ja nun vorweisen ... da kann's doch nur noch besser werden.


und Willkommen im Club
/me = gelernter Industrieelektroniker
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von ehX
ehX

Registriert seit: 11. Aug 2011
Ort: Augsburg
55 Beiträge
 
Delphi 2009 Professional
 
#7

AW: NrComm Lib

  Alt 16. Aug 2011, 22:44
Vielleicht als kleiner Tipp am Rande:

Für RS232-Geschichten bietet sich für das Debugging auch immer an, einen Serial Port Monitor als Progrämmchen dazwischenzuhängen.
Oft braucht man sich dann nur ansehen, was über die Schnittstelle läuft und schon wird einem klar, was man falsch gemacht hat
Einen freien Serial Port Monitor gibt es z.B. hier
Fin

Geändert von ehX (16. Aug 2011 um 22:46 Uhr)
  Mit Zitat antworten Zitat
freddygloves

Registriert seit: 14. Aug 2011
Ort: Tettnang
7 Beiträge
 
Delphi XE Architect
 
#8

AW: NrComm Lib

  Alt 17. Aug 2011, 13:16
...
Hab hier noch ein cooles Tool anstelle von HTerm (konnte da nur Zeichen generieren und mal gucken was so mein Microcontroller macht aber trotzdem Danke war auch schon hilfreich).
Und zwar nämlich den Free Serial Port Monitorhttp://www.heise.de/software/downloa..._monitor/26030
...
Habe ich ja auch geschrieben

Auf jeden Fall die zwei Tools ersparen viel Ärger
Oli
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz