![]() |
|
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
: |
Ngâm cứu mãi khoản RS232 ko dc, tôi mua kit PICLAB40 về nghiên cứu để đảm bảo ko có lloi trong mạch cứng khi chạy đoạn code bên dưới và KT bằng serial port monitor cua CCS thì thấy pic gửi lên toàn số 00 liên tục, có thể đây là nguyên nhân ngắt nhận ko xảy ra. mọi ng chỉ giúp với.
#include<16f877.h> #FUSES NOWDT, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOWRT #use delay(clock=4000000) // defind crystal = 4MHz #use rs232(baud=9600,xmit=PIN_C6, rcv=PIN_C7) // Uses RS232 Baud-rate 9600 , TX PIN = RC6, RX PIN = RC7 main() { char key_in; while (true) { key_in=getc() delay_ms(1000); putc(key_in); } } |
|
|
|
|
|
#2 |
|
Nhập môn đệ tử
Tham gia ngày: Feb 2007
Bài gửi: 4
: |
@ digan
Mình sửa code cho bạn, bạn thử xem có chạy tốt không nhé #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) { } } digan vẫn chưa có mặt trong diễn đàn |
|
|
|
![]() |
|
|