MSDOS serial programing



  • Hallo Alerseits,
    ich möchte mit dem Befehl bioscom unter MSDOS die baudrate der Initialisierung von der seriellen Schnitstelle RS232 auf 38400 BPS setzen.

    Wie geht das????????

    Danke im Voraus
    Grüße



  • hier der prototyp mit beschreibung
    http://members.tripod.com/~oldboard/assembly/bioscom.html
    und hier
    http://electrosofts.com/serial/

    (kommt einiges unter google)



  • Hallo,
    ich danke dir für deine Hilfe.
    ABER im Internet ist die Rede immer von maximale 9600 Baud. Ich brauche für meine Anwendung 38400 Baud.

    Ich habe die Lösung in dem Buch PC Intern gefunden und lautet:

    #define SER_COM1 0x3f8
    #define SER_DIVISOR_MSB 0x01
    #define SER_DIVISOR_LSB 0x00
    #define SER_LINE_CONTROL 0x03
    #define SER_LCR_SETDIVISOR 0x80
    #define SER_MAXBAUD 115200L

    //Die Funktion für die Initilaisierung der seriellen Schnitstelle
    void serFopen(){

    long uDivisor;
    //if (ser_UARTType(SER_COM1)!=NOSER){

    uDivisor=(long) (SER_MAXBAUD/38400);
    outp(SER_COM1+SER_LINE_CONTROL,inp(SER_COM1+SER_LINE_CONTROL)|SER_LCR_SETDIVISOR);

    outp(SER_COM1+SER_DIVISOR_LSB,LOBYTE(uDivisor));
    outp(SER_COM1+SER_DIVISOR_MSB,HIBYTE(uDivisor));
    outp(SER_COM1+SER_LINE_CONTROL,inp(SER_COM1+SER_LINE_CONTROL)&~SER_LCR_SETDIVISOR);
    outp(SER_COM1+SER_LINE_CONTROL,0x03);
    }

    Grüße und Danke



  • Ansonsten gibts dazu auch einen FAQ-Beitrag.



  • stimmt, pc intern ist ein super buch, liegt hier auch (hätte ich auch mal reinschaun können...) 🙂


Anmelden zum Antworten