IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Synaser : problème avec SB1andHalf [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 32
    Par défaut Synaser : problème avec SB1andHalf
    Bonjour,

    Essayant Synaser pour la gestion du port COM, j'ai écrit le petit programme suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    unit U1Syna;
     
    {$mode objfpc}{$H+}
     
    interface
     
    uses
      Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
      synaser, StdCtrls;
     
    type
     
      { TForm1 }
     
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        Edit1: TEdit;
        Memo1: TMemo;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        { private declarations }
        stop:boolean;
      public
        { public declarations }
      end; 
     
    var
      Form1: TForm1; 
     
    implementation
     
    { TForm1 }
     
    procedure TForm1.Button1Click(Sender: TObject);
    //Stop bit : SB1=0, SB1andHalf=1, SB2=2
    var
      ser:TBlockSerial;
      i:integer;
    begin
      i:=1;
      button1.Enabled:=false;
      ser:=TBlockSerial.Create;
      try
        ser.RaiseExcept:=True;
        ser.Connect('COM1');
        ser.Config(1200,8,'N',SB1,false,false);
        stop := false;
        repeat
          ser.SendString('ATI8'+CRLF);
          memo1.Lines.Add(IntToStr(i)+' '+ser.RecvTerminated(1000,#13#10));
          Application.ProcessMessages;
          inc(i);
        until  stop = true;
      finally
        ser.free;
      end;
      button1.Enabled:=true;
    end;
     
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      stop:=true;
    end;
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Memo1.Clear;
    end;
     
     
    initialization
      {$I u1syna.lrs}
     
    end.
    Il me permet d'émettre et recevoir des trames sur le même port COM (pins 2 et 3 reliées) et fonctionne parfaitement dans tous les cas de vitesse et parité.
    SAUF dans le cas d'1 bit de stop (SB1andHalf). SB1, c'est OK. SB2, c'est OK.
    SB1andHalf : Lazarus interrompt le programme avec parfois une erreur (suivant la vitesse et parité choisies) "fpc_raiseexception".

    J'ai vraiment raté quelquechose ?

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 32
    Par défaut Errare
    J'ai effectivement raté quelque chose.
    SB1=1 bit de stop
    SB1andHalf=1.5 bit de stop et ce qui doit s'en suivre.
    SB2=2 bits de stop.

    Désolé pour le dérangement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo