Thông báo

Collapse
No announcement yet.

Hoi ve truyen nhan du lieu kieu byte trong VB

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

  • Hoi ve truyen nhan du lieu kieu byte trong VB


    chào bác BẮC:
    cho em hỏi dùng kiểu byte để truyền nhận dữ liệu
    giả sử em muốn hiện dữ liệu nhận dược bằng 1 text như thế này dúng không?
    count=cint(bytereceiver)
    for dem=0 to (count-1)
    text1.tẽxt=text1.tẽxt+cstr(bytereceiver(dem))
    next
    luc em chay nó báo lỗi ở lệnh dầu tiên
    bác giúp em ngay nhé
    Học thầy không tày học bạn ...

  • #2
    khong bác nào trả lòi giup em ah
    cho em hỏi thêm 1 câu nhé :
    em chay thu chuong trinh VB tren may tinh thi nhan du lieu nhu thuong
    em truyen nhan kieu text;va VDK8051 em cung test thay no truyen nhan binh thuong .
    toc do baud cong dung .
    vay tai sao em cho VDK giao tiep voi PC thi khong nhan duoc du lieu.

    em thu dung lenh :
    count=inbuffercount
    thi khong thay gia tri cua count
    con khi giao tiep PC-PC thi count co nhan duoc gia tri khác 0
    các bác giúp em nhé.
    em cam on nhieu
    Học thầy không tày học bạn ...

    Comment


    • #3
      Bạn thử post cả chương trình lên thì mọi người mới góp ý được chứ

      Comment


      • #4
        chào các bác .
        chương trình của em đã kiểm tra được 1 lỗi rùi.
        đó là con max232 nó bị làm sao ý.
        em thay con khác rồi.
        nhưng mà chương trình của em nó nhận không đúng kiểu phông chữ.
        em gửi code chưong trinh VB va KeilC các bác kiểm tra giúp em với nhé:
        code VB:

        If frmcomport.cboport.Text = "" Then
        MsgBox "Thuc hien lai chuong trinh", vbExclamation + vbOKOnly, "Error!"
        Beep
        frmcomport.Show
        Else
        intport = CInt(Me.cboport.Text)
        If intport >= 1 And intport <= 8 Then
        On Error Resume Next
        frmcomport.MSComm1.CommPort = intport
        frmcomport.MSComm1.Settings = cborate.Text + ",N,8,1"
        frmcomport.MSComm1.RThreshold = 1
        frmcomport.MSComm1.SThreshold = 1
        If frmcomport.MSComm1.PortOpen = True Then
        frmcomport.MSComm1.PortOpen = False
        End If
        Else
        MsgBox "Hay nhap vao so cong phu hop ", vbOKOnly, "Error!"
        End If
        End If
        End Sub

        Private Sub Form_Load()
        cboport.AddItem "1"
        cboport.AddItem "2"
        cboport.AddItem "3"
        cboport.AddItem "4"
        cboport.AddItem "5"
        cboport.AddItem "6"
        cboport.AddItem "7"
        cboport.AddItem "8"


        cborate.AddItem "1200"
        cborate.AddItem "2400"
        cborate.AddItem "4800"
        cborate.AddItem "9600"
        cborate.AddItem "14400"

        Me.MSComm1.InputMode = comInputModeText

        End Sub

        Private Sub MSComm1_OnComm()
        Load frmcomm
        If frmcomport.MSComm1.CommEvent = comEvReceive Then
        dem = frmcomport.MSComm1.InBufferCount
        sample = frmcomport.MSComm1.Input
        frmcomm.txtnhan.Text = frmcomm.txtnhan.Text + sample

        End If
        'If frmcomport.MSComm1.CommEvent = comEvSend Then
        ' dem = frmcomport.MSComm1.OutBufferCount
        ' frmcomport.MSComm1.Output = frmcomm.txtgui.Text
        ' dem = frmcomport.MSComm1.OutBufferCount
        ' frmmain.txtlenh = str(dem)
        ' End If
        End Sub

        code keilC:
        #include <at89x51.h>
        void delay(unsigned int ms)
        {unsigned int i=1000;
        while(ms--)
        while(i--)
        {;};
        }
        void sendserial(unsigned char c)
        { SBUF=c;
        while(TI==1)
        { TI=0;
        }
        P0_2=~P0_2;
        delay(2);
        }
        void serial() interrupt 4 using 2
        { unsigned char c;
        if(RI==1)
        {c=SBUF;
        RI=0;
        if(c=='u'){
        P0_1=~P0_1;}
        else
        P0_0=~P0_0;
        }
        }
        void main()
        { EA=1; //enable all interrupt
        ES=1; //enable serial communication
        TMOD=0x20; //timer 1 mode 2
        TH1=0xf4; // baudrate = 2400
        SCON=0x50; //1 start, 8data, 1 stop, non p, REN=1
        TR1=1; // start timer 1
        while(1){
        sendserial('a'); }
        }

        nhân đây cho em hỏi đoạn chương trình dung kiểu byte sau sai ở đâu:
        Me.MSComm1.InputMode = comInputModeBinary
        Private Sub MSComm1_OnComm()
        dim sample as variant
        If frmcomport.MSComm1.CommEvent = comEvReceive Then
        dem = frmcomport.MSComm1.InBufferCount
        sample = frmcomport.MSComm1.Input
        bytereciver()=sample
        count=lenb(sample) //đếm số byte nhận được
        for i=0 to (count-1 )
        text1.text=text1.text+Cstr(bytereciver(i))
        next i
        End If

        end Sub
        các bác cho ý kiến sớm gúp em nhé.
        Học thầy không tày học bạn ...

        Comment


        • #5
          chào các bác .
          ko ai giúp em ah
          Last edited by TDH-BN; 09-04-2007, 00:58.
          Học thầy không tày học bạn ...

          Comment


          • #6
            truyền giá trị cho 1byte_ quang bao

            Các bác ơi! Cho mình hỏi để viết một đoạn chương trình con điều khiển truyền dữ liệu (giá trị) cho 1byte thì làm sao? Bằng kielc hay codevision cũng đc. Thanks!
            Nguyen Sinh_ 01689.660.922

            Comment

            Về tác giả

            Collapse

            TDH-BN Tìm hiểu thêm về TDH-BN

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

            Collapse

            Đang tải...
            X