![]() |
|
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
: |
em dùng đoạn CT này để KT nếu có ngắ nhận thì sẽ thay đổi trạng thái LED ở PORTB để nhận biết.nhưng không dc. các tiền bối chỉ giúp xem sai ở đâu.
code của em: #include "D:\RS232\RS232.h" #include <def_877a.h> #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOWRT #use delay(clock=20000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7) char buf; #int_RDA void RDA_isr() { buf=getc(); putc(buf); portb = 0x0f; } void main() { trisb=0x00; portb = 0x00; enable_interrupts(INT_RDA); enable_interrupts(GLOBAL); while(1) { } } |
![]() |
![]() |
![]() |
#2 |
Đệ tử 6 túi
Tham gia ngày: Apr 2006
Bài gửi: 125
: |
đọc chương trình của bạn có vẻ ổn
Phần cứng của bạn thế nào? bạn truyền nhận giữa PC va vdk hay là giữa 2 vdk? Mình nghĩ có thể là lỗi phần cứng, bạn có thể kiểm tra bằng cách tháo con PIC ra, nối chân TX và RX trên board lại với nhau rồi truyền nhận bằng máy tính nếu truyền nhận OK nghĩa là phần cứng của bạn không sao |
![]() |
![]() |
![]() |
#3 |
Đệ tử 6 túi
Tham gia ngày: Oct 2008
Nơi Cư Ngụ: HCM
Bài gửi: 137
: |
#int_RDA
void RDA_isr() { buf=getc(); putc(buf); portb = 0x0f;//----------> portb =0x0f khi có ngắt lần thứ mấy vẫn không đổi } void main() { trisb=0x00; portb = 0x00;//---->trạng thái đầu của portB enable_interrupts(INT_RDA); enable_interrupts(GLOBAL); while(1) { } } theo chương trình bạn viết thì portb chỉ thay đổi trạng thái chỉ 01 lần duy nhất thôi.sau đó dù có ngắt xảy ra bao nhiêu lần đi chăng nữa thì portb vẫn luôn không đổi và = 0x0f forever!vì vậy bạn cần quan sát kỹ trạng thái của portb khi mới cấp nguồn cho pic và khi bạn gưi dữ liệu qua rs232 lần đâu tiên là sẽ có sự khác nhau như bạn mong muốn và sau đó thì portb sẽ không đổi. thay đổi nội dung bởi: lequocbao, 16-04-2009 lúc 06:13 PM. |
![]() |
![]() |
![]() |
Tags |
forms!nhap!vao = x |
Ðiều Chỉnh | |
Xếp Bài | |
|
|
![]() |
||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
Giao tiếp RS232 trên PC | ngohaibac | Giao tiếp cổng COM và LPT | 193 | 18-02-2025 09:11 AM |
Cho hỏi về giao tiếp RS232 của PIC16F877A | enti | Giao tiếp cổng COM và LPT | 31 | 25-03-2016 10:14 PM |
Giao tiếp RS232 trên PC qua Matlab | ngohaibac | Giao tiếp cổng COM và LPT | 47 | 18-11-2015 03:51 PM |
cần mua bộ thu GPS có giao tiếp RS232 | kienvq | Tìm mua sản phẩm | 15 | 17-03-2011 11:25 PM |
Help! Dùng C để giao tiếp RS232 | dandiennang | Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) | 6 | 15-03-2009 06:41 PM |