View Single Post
Old 03-04-2009, 02:13 PM   #11
nguyennam8888
Đệ tử 3 túi
 
Tham gia ngày: Dec 2008
Bài gửi: 50
:
bài tập truyền nhận cơ bản đầu tiên

các bác giúp em với, nghĩ mãi mà chưa làm được , chương trình của em nó chỉ nhận thôi, nhưng khi nhận xong thì PIC lại không thấy hiển thị, còn truyển ngược lại thì chưa đươc
code trong Pic:
#include <16F877a.h>
#include <DEFS_16F877A.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use rs232(baud=9600,parity=n, xmit=PIN_C6, rcv=PIN_C7)
unsigned char dulieu;
#INT_RDA
void data_receive(void)
{
dulieu = getc();
putc(dulieu);
}
void main()
{
set_tris_a(0);
ENABLE_INTERRUPTS(GLOBAL);
ENABLE_INTERRUPTS(INT_RDA);
while(true)
{
output_a(dulieu);

delay_ms(2000);
}
}
code trong VB:

Private Sub cmdClear_Click()
Text1.Text = ""

End Sub

Private Sub cmdExit_Click()
Unload Me
End Sub

Private Sub cmdSend_Click()
MSComm1.Output = Text2.Text
End Sub

Private Sub Form_Load()
cmdSend.Caption = "&Send"
Text1.Text = ""
Text2.Text = ""
Text1.Enabled = False
cmdExit.Caption = "&Exit"
With MSComm1
.Settings = "9600,N,8,1"
.CommPort = 4
.RThreshold = 1
.SThreshold = 0
.InputMode = comInputModeText
.InputLen = 0
.Handshaking = comNone
.InBufferSize = 1024
.OutBufferSize = 1024
If .PortOpen = False Then
.PortOpen = True
End If

End With
End Sub

Private Sub MSComm1_OnComm()
If MSComm1.CommEvent = comEvReceive Then
Text1.Text = Text1.Text + Asc(MSComm1.Input)
End If
End Sub
(em tìm mãi mà không thấy chỗ nào để viết code.)

thay đổi nội dung bởi: nguyennam8888, 10-04-2009 lúc 09:56 AM.
nguyennam8888 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn