Penjelasan pesan galat saat menggunakan COM1: dan COM2

Sanggahan Konten KB yang Dihentikan

Artikel ini ditulis untuk produk yang tidak lagi didukung oleh Microsoft. Oleh karena itu, artikel ini disediakan "sebagaimana adanya" dan tidak akan diperbarui lagi.

Ringkasan

Pesan galat berikut ini dapat muncul apabila menggunakan "COM1:" atau "COM2:" perangkat:

   Error Message                     Number
------------- ------

File Already OPEN (Error 55)
Bad File Name or Number (Error 52)
Out of Memory (Error 7)
Device Unavailable (Error 68)
Device I/O Error (Error 57)
Communications Buffer Overflow (Error 69)
Device Timeout (Error 24)

Artikel ini memberikan logika yang digunakan untuk menentukan menampilkan galat ini saat membuka, INPUT, OUTPUT, dan pernyataan lain saat menggunakan "COM1:" atau "COM2:" perangkat. Informasi ini berlaku untuk versi Microsoft QuickBasic 4.00, 4.00b dan 4,50 dan versi Microsoft Dasar Compiler 6.00 dan 6.00b MS-DOS dan MS OS/2. Untuk artikel tentang bagaimana memecahkan masalah port komunikasi umum, mencari kata-kata berikut di Pangkalan Pengetahuan ini:
memecahkan dan "com1:" dan port dan masalah

Informasi lebih lanjut

Buka "COM1:" atau buka "COM2:" pernyataan menggunakan logika berikut dalam urutan eksekusi untuk memeriksa galat:


  1. Periksa apakah < nomor perangkat > buka sebelumnya dalam program. "Berkas sudah terbuka" menampilkan apabila < nomor file > sudah terbuka.
  2. Memilah opsi yang digunakan dalam membuka "COM1:" atau buka "COM2:" pernyataan. " Nama berkas yang buruk atau nomor"menampilkan jika salah satu dari berikut ini benar:


    1. Laju baud bukan 65.535 numerik atau lebih
    2. Paritas adalah tidak N, O, E, M atau S
    3. Bit data yang tidak 5, 6, 7, 8
    4. 8 bit data dan paritas adalah O, E, M atau S
    5. Stop bit tidak 1 atau 2 (1.5 tidak didukung)
    6. Salah satu dari berikut ini argumen yang salah ejaan (urutan tidak signifikan ini; "m" dapat null atau angka dari 0 sampai 65,535 milidetik; buffersize "x" dapat hingga 32,767 byte):
      Organisasi Papua Merdeka DSm, CSm, CDm, RBx, TBx, r, LF, sampah, ASC
  3. Mengalokasikan transmisi dan menerima buffer. "Keluar dari memori" menampilkan jika ada ruang yang tersisa untuk buffer di segmen data asali.
  4. Menyiapkan antarmuka perangkat.


    1. "Nama File buruk" ditampilkan saat menggunakan apa pun selain "COM1:" atau "COM2:" atau saat menggunakan laju baud tidak sama dengan 75 110, 150, 300, 600, 1200, 1800, 2400, 4800, 9600 atau 19.200.
    2. "Perangkat tidak tersedia" menampilkan jika antarmuka komunikasi yang sedang digunakan atau tidak ada (berdasarkan 4 bita di 400 hex memori PC rendah).


      Jika tidak ada kesalahan terjadi saat ini yang terbuka, laju baud, ukuran data, paritas dan stop bits sekarang ditetapkan. DTR ditetapkan. RT diatur jika opsi r tidak ditentukan. Jika Anda menggunakan opsi (buka time-out) OPn, Item 4c (di bawah) berlaku.
    3. "Galat I/O perangkat" menampilkan jika batas waktu buka OPn terjadi setelah menunggu DSR (Data Set siap) atau DCD (mendeteksi Data Carrier).


      (Catatan: QuickBasic versi 2.00, 2.01 dan 3.00 menggunakan opsi DSn dan CDn untuk waktu-habis DSR dan DCD daripada versi 4.00, 4.00b dan 4,50 OPn pilihan yang lebih baru.)
Dasar dikompilasi menggunakan logika berikut selama masukan dari "COM1:" atau "COM2:":


  1. Memeriksa galat.


    1. "Komunikasi Buffer Overflow" menampilkan untuk menerima (atau mengirimkan) buffer overflow.
    2. "Galat I/O perangkat" menampilkan untuk salah satu dari kondisi berikut ini:
               Condition       Description
      --------- -----------

      break A special line condition where line voltage
      is held "on" (sending 1 bit, which is
      between -25 and -3 volts) over more than 10
      bit-times. (Note that "off" means a 0 bit,
      which is between +3 and +25 volts).

      parity error Can occur if line is noisy, or the wrong baud
      or parity is being used.

      overrun error The character (a 10-bit data frame) was not
      read from the interface hardware in time
      before it was overwritten by the next
      received character.

      framing error The bit to be interpreted as the stop bit was
      not 0. A framing error can occur if the line
      is noisy, if the wrong baud rate is used, or
      if the clock speeds on the communicating PCs
      are mismatched.

    3. "Galat waktu habis perangkat" menampilkan jika CTS, DSR, atau DCD waktu habis terjadi.
  2. Jika tidak ada kesalahan terjadi, Dapatkan karakter berikutnya dari buffer terima. Jika tidak ada, maka loop.
Dasar dikompilasi menggunakan logika berikut selama OUTPUT "COM1:" atau "COM2:":


  1. Memeriksa galat. (Sama seperti INPUT di atas.)
  2. Uji jika mengirimkan buffer sudah penuh. Jika penuh, loop kembali ke 1.
  3. Masukkan karakter ke buffer.
LOC(n) function melakukan hal berikut saat digunakan dengan "COM1:" atau "COM2:":


  1. Memeriksa galat. (Sama seperti INPUT di atas.)
  2. Loc(n) kembali jumlah karakter yang saat ini dalam menerima buffer.
LOF(n) function melakukan hal berikut saat digunakan dengan "COM1:" atau "COM2:":


  1. Memeriksa galat. (Sama seperti INPUT di atas.)
  2. LOF(n) kembali ruang yang tersisa di buffer dikirim dalam versi QuickBasic 4.00, 4.00b, dan 4,50 dan versi Microsoft Dasar Compiler 6.00 dan 6.00b MS-DOS dan MS OS/2.


    LOF(n) kembali ruang yang tersisa di buffer terima dalam versi QuickBasic 1.00, 1.02, 2.00, 2.01 dan 3.00.
Dasar menggunakan logika berikut ini saat Anda menutup "COM1:" atau "COM2:" perangkat:


  1. Mengirimkan output. Jika menggunakan opsi ASC (dan tidak opsi TAMPUNGAN), mengirimkan akhir berkas (EOF) karakter (CTRL + Z).
  2. Tunggu tertunda output untuk menyelesaikan atau waktu habis.
  3. Memulihkan interupsi vektor.
  4. Deallocate dikirim dan menerima buffer dari segmen data dasar standar.
  5. Laporan galat yang ditangguhkan.
Properti

ID Artikel: 39386 - Tinjauan Terakhir: 29 Jan 2017 - Revisi: 1

Tanggapan