habs mittlerweise in delphi umgeschrieben. ich benutze die Com Komponente aus dem Download Bereich. In VB hatte ich genau das selbe Problem.
Code:
unit ComMainForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, CPort, CPortCtl;
type
TForm1 = class(TForm)
ComPort: TComPort;
Button_Open: TButton;
ListBox1: TListBox;
procedure Button_OpenClick(Sender: TObject);
procedure ComPortOpen(Sender: TObject);
procedure ComPortClose(Sender: TObject);
procedure ComPortRxChar(Sender: TObject; Count: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button_OpenClick(Sender: TObject);
begin
if ComPort.Connected then
ComPort.Close
else
ComPort.Open;
end;
procedure TForm1.ComPortOpen(Sender: TObject);
begin
Button_Open.Caption := 'Close';
end;
procedure TForm1.ComPortClose(Sender: TObject);
begin
if Button_Open <> nil then
Button_Open.Caption := 'Open';
end;
procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
Str: String;
begin
ComPort.ReadStr(Str, Count);
listbox1.Items.Add(Str);
end;
end.
Einstellungen von ComPort1:
Baudrate = br960
Buffer: InputSize = 1024 OutputSize = 1024
Connceted = False
DataBits = dbEight
DiscardNull = True
EventChar = #0
Events = alle true
ControlDTR = dtrEnable
ControlRTS = rtsEnable
DSRSensitivity = False
FlowControl = fcNone
OutCTSFlow = False
OutDSRFlow = False
TxContinueOnXoff = False
XoffChar = #19
XonChar = #17
XonXoffln = False
XonXoffOut = False
Parity:
Bits = prNone
Check = false
Replace = False
ReplaceChar = #0
Port = COM1
StopBits = sbOneStopBit
SyncMethod = smThreadSync
Tag = 0
Timeouts:
ReadInterval = -1
ReadTotalConstant = 0
ReadTotalMultiplier = 0
WriteTotalConstant = 1000
WriteTotalMultiplier = 100
Bascom Code:
Code:
Dim I As Byte
$crystal = 8000000
$baud = 9600
Weiter:
I = 0
Do
Incr I
Waitms 500
Print "HalloHallo" ; I;
Loop
End
Also für Baud = 19200 kommt bei mir nur Scheiß raus. Is glaub ich normal.
Lesezeichen