![]() |
|
|
#11 |
|
Đệ tử 4 túi
Tham gia ngày: Jan 2007
Bài gửi: 79
: |
Đoạn chương trình PIC gửi một ký tự
Code:
#include <16f877a.h>
#include <def_877a.h>
#FUSES NOWDT, HS, NOPUT,NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=4000000)
#use rs232(baud=9600, parity=N, xmit=pin_C6, rcv=pin_C7, bits=9)
char c;
void main()
{
putc(c);
while(1)
{
}
}
Code:
Private Sub MSComm1_OnComm()
Dim buffer() As Byte
Dim j1 As String
If MSComm1.CommEvent = comEvReceive Then
buffer = MSComm1.Input
If buffer(0) < 16 Then
j1 = "0" & Hex(buffer(0))
Else
j1 = Hex(buffer(0))
End If
txtreceive.Text = j1
End If
End Sub
Chương trình trên để truyền 1 ký tự lên máy tính. Hoàn toàn tương tự bạn lại thêm một lệnh putc() như vậy nữa để truyền ký tự thứ 2 lên máy tính. Thế nhưng thực tế bạn lại không thể truyền được ký tự thứ 2 này vì tốc độ xử lý của PIC6F877a đáp ứng ko kịp (có lẽ vậy), nên giữa 2 lệnh putc() này bạn thêm một lệnh delay một khoảng thời gian nào đó thì mới truyền đúng được. Đó là một ví dụ nhỏ để chứng tỏ với bạn rằng chỉ có chính mình xoắn tay vào làm nó thì mới thành công được. |
|
|
|
|
|