Thông báo

Collapse
No announcement yet.

Truyền UNICODE qua cổng COM

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Truyền UNICODE qua cổng COM

    Không biết cách thức truyền data 16Bit qua cổng COM ntn nhỉ chả nhẽ phải đánh dấu 1Byte và 1 Byte cuối? Nếu tốc độ cao thì tốc độ truyền còn 1/2 thôi à? ai đã làm rồi xin chỉ giáo??

  • #2
    có lẽ câu hỏi này ko ai muốn trả lời ! vì...

    Comment


    • #3
      Nguyên văn bởi trungthanh20
      Không biết cách thức truyền data 16Bit qua cổng COM ntn nhỉ chả nhẽ phải đánh dấu 1Byte và 1 Byte cuối? Nếu tốc độ cao thì tốc độ truyền còn 1/2 thôi à? ai đã làm rồi xin chỉ giáo??
      Truyền 16 bít hay bao nhiêu chẳng thế bạn. Thực ra là khi truyền thì nó sẽ chuyển thành từng 8 bít (1 byte) một chuyển đi, byte này có thêm bít start và stop để truyền đi.

      Bạn xem bài Serial Port - Lập trình giao tiếp nối tiếp tại box Lập trình trên VB, VC,C,..

      Chúc thành công.
      Technical sale at WT Microelectronics S'pore
      Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
      Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com

      Comment


      • #4
        ko phải là cứ 8 bit một chuyến đi, mà liên tục đều đều các bit được chuyển đi với tốc độ cố định (baudrate). còn việc gắn start, stop, parity là nhiệm vụ của phần cứng. Bên truyền thì gắn, bên nhận tự động tách.

        Comment


        • #5
          serial port chỉ truyền data theo 5,6,7,8 bit. chứ không có 16 bit. vì đây là truyền bất đồng bộ. nếu bạn muốn truyền unicode thì nên cắt ra làm 2 byte và truyền tuần tự, có thể set baud rate cao lên để nhanh hơn

          Comment


          • #6
            Các bạn cho hỏi?
            Ví dụ nếu truyền với 1 khung truyền nhiều Byte (6,7..) thì như trong chuẩn (VD: Windows) thì Byte Start và Stop thường người ta dùng ký tự gì nhi? nếu có lỗi thì dùng ký tự gì, Ai biết mô hình truyền và có sửa lỗi giúp tôi với. Cam ơn trước nhe!

            Comment


            • #7
              đây là các byte điều khiển:
              SOH EQU 01H ; start of packet
              STX EQU 02H ; start of data block
              ETX EQU 03H ; end of packet (CRC follows)
              ETX1 EQU 03H ; end of packet (CRC follows)
              EOT EQU 04H ; response to link test
              ENQ EQU 05H ; link test character
              ACK EQU 06H ; packet received OK
              NAK EQU 15H ; no packet received
              ETB EQU 17H ; end of data block inside packet
              CAN EQU 18H ; cancel packet (not processed)
              SUB EQU 1AH ; control byte follows
              RS EQU 1EH ; hold and re-tx prev packet later
              DC1 EQU 11H
              DC4 EQU 14H
              US EQU 1Fh
              SYN EQU 16h
              XON EQU 11h
              XOFF EQU 13h
              RERR equ 18h
              cách truyền phát hiện lổi và sửa lổi thì phải đóng gói data, tức định nghĩa 1 protocol , có check sum, có địa chỉ, có số lần truyền, có loại data...
              bạn có thể viết 1 protocol theo format của HEX file để truyền data
              Last edited by AnKhang; 22-02-2006, 21:12.

              Comment


              • #8
                [QUOTE=AnKhang]đây là các byte điều khiển:
                SOH EQU 01H ; start of packet
                STX EQU 02H ; start of data block
                ETX EQU 03H ; end of packet (CRC follows)
                ETX1 EQU 03H ; end of packet (CRC follows)
                EOT EQU 04H ; response to link test
                ENQ EQU 05H ; link test character
                ACK EQU 06H ; packet received OK
                NAK EQU 15H ; no packet received
                ETB EQU 17H ; end of data block inside packet
                CAN EQU 18H ; cancel packet (not processed)
                SUB EQU 1AH ; control byte follows
                RS EQU 1EH ; hold and re-tx prev packet later
                DC1 EQU 11H
                DC4 EQU 14H
                US EQU 1Fh
                SYN EQU 16h
                XON EQU 11h
                XOFF EQU 13h
                RERR equ 18h
                cách truyền phát hiện lổi và sửa lổi thì phải đóng gói data, tức định nghĩa 1 protocol , có check sum, có địa chỉ, có số lần truyền, có loại data...
                bạn có thể viết 1 protocol theo format của HEX file để truyền data

                Comment


                • #9
                  Hi,
                  Chắc chắn là tốc độ giảm một nửa rồi, bác đòi hỏi gì nữa. Mã Unicode gồm 2 byte để mã hóa cho một ký tự (trừ UTF8) trong khi đó RS232 truyền một lần một byte. Nếu muốn truyền mã Unicode thì bác phải truyền 2 byte cho một ký tự là chắc chắn rồi. Như vậy thì tốc độ trao đổi dữ liệu phải chậm gấp 2 lần là chắc, được cái này thì phải mất cái kia thôi.
                  Chúc vui vẻ và chào thân ái.
                  Đường đến những ngày vinh quang không còn xa
                  Con đường chúng ta... chúng ta đã chọn.

                  Comment

                  Về tác giả

                  Collapse

                  trungthanh20 Tìm hiểu thêm về trungthanh20

                  Bài viết mới nhất

                  Collapse

                  Đang tải...
                  X