![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| Giao tiếp cổng COM và LPT RS232, RS485 và LPT là những giao tiếp cơ bản và kinh điển khi mới học về vi điều khiển... |
![]() |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
|
|
#1 |
|
Đệ tử 1 túi
Tham gia ngày: Jan 2006
Bài gửi: 14
: |
Chán quá, lọ mọ một mình mãi vẫn không được. mình Post cả phần VB nhờ mọi ng kiểm tra xem có lối định dạng dữ liệu không nhé. Mình nối tắt chân 11 và 12 của Max232 để thử thì mình gửi chữ A nó trả về đúng chư A luôn.
Private Sub Exit_Click() MSComm1.PortOpen = False End End Sub Private Sub Form_Load() With MSComm1 .CommPort = 1 .RThreshold = 1 .Settings = "9600,n,8,1" .PortOpen = True End With TText.Text = "NHAP KY TU TRUYEN DI" RText.Text = "KY TU NHAN DUOC" End Sub Private Sub MSComm1_OnComm() If (MSComm1.CommEvent = comEvReceive) Then buff = MSComm1.Input a = Asc(buff) RText.Text = a End If End Sub Private Sub RButton_Click() RText.Text = a End Sub Private Sub TButton_Click() MSComm1.Output = TText.Text End Sub ![]() Phần Code cho pic mình dùng code do Đồng chí Bolsevik sửa giúp. (Thanks đồng chí!) #include<16f877.h> //cẩn thận nhầm 16f877a #FUSES XT, NOWDT, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOWRT #use delay(clock=4000000) // defind crystal = 4MHz #use rs232(baud=9600,xmit=PIN_C6, rcv=PIN_C7, bits=8) // Uses RS232 Baud-rate 9600 , TX PIN = RC6, RX PIN = RC7 #int_RDA void RDA_isr() { char key_in; key_in=getc(); //delay_ms(1000); trong 1s lại có ký tự gửi đến thì trả về không đúng putc(key_in); } main() { enable_interrupts(global); enable_interrupts(INT_RDA); while (true) { } } |
|
|
|
|
|
#2 |
|
Đệ tử 6 túi
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Di Linh
Bài gửi: 131
: |
Nếu bạn đã chắc chắn khi nối chân 11, 12 của max 232 thì VB truyền nhận dc( gửi A , nhận A ) thì bạn kiểm tra xem ( thật kĩ ) từ chân 11,12 của max232 có đến đúng thứ tự chân RC6, RC7 hay không ? Mình nói lại bạn hãy kểm tra thật kĩ , xem 11, 12 trong data shet là ngõ vào hay ngõ ra .
Cũng chính vì quá tin tưởng Easy PiC ( phiên bản cũ ) của TM nên mình cũng bị như bạn. chỉ cần đảo chéo RC6 , RC7 là dc. còn PIClab 40 thì mình không biết thế nào |
|
|
|
![]() |
|
|