Anh Nam ơi,em chuyển sang khung lớn nhưng vẫn không thấy thanh công cụ đâu,còn lúc bài mới thì có thấy.
EM cám ơn anh góp ý nhưng code VB em có đưa kèm theo trong file rar đó anh.Để em đưa lên đây lun mấy anh coi cho tiện
Code:
Private Sub cmdExit_Click()
MSComm1.PortOpen = False
End
End Sub
Private Sub cmdSend_Click()
Dim out As String
out = txtTransmit.Text
MSComm1.Output = out
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 3
MSComm1.Settings = "4800,n,8,1"
MSComm1.PortOpen = True
MSComm1.RThreshold = 1
End Sub
Private Sub MSComm1_OnComm()
If (MSComm1.CommEvent = comEvReceive) Then
txtReceive.Text = txtReceive.Text + MSComm1.Input
End If
End Sub
Mà anh nam ơi,đoạn Code CCS C em sửa lại như sau
Code:
#include <16F877a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use rs232(baud=4800, xmit=PIN_C6, rcv=PIN_C7)
#include <def_877a.h>
#INT_RDA
void data_receive(void)
{
portd=getc();
}
void main()
{
set_tris_d(0);
ENABLE_INTERRUPTS(GLOBAL);
ENABLE_INTERRUPTS(INT_RDA);
while(true)
{
putc(portd);
delay_ms(2000);
}
}
em gửi nhạn giá trị qua thẳng portd lun,ko wa biến data nữa thì thấy có khả wan hơn.em gửi xuống chữ a(mã ASCII 61H) thì kết quả theo led là 60H và nhận về "`",b(62H) kết quả vẫn là 60H và vẫn nhân về "`" nhưng chữ c(63H) thì kết quả led xuất đúng và nhận đúng chữ c,chữ d vẫn đúng.em thử gửi tiếp số thì số 1,2 kết quả xuất led và nhận sai.em nghi ngờ 2 chân D1 và Do nên lấy đồng hồ ra đo thì mức Vôn chỉ được 2 V,chính vì thế nên kết quả sai.Anh góp ý giùm đệ với được không?