|
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 |
14-12-2008, 06:39 PM | #14 |
Đệ tử 1 túi
Tham gia ngày: Apr 2008
Bài gửi: 18
: |
Dùng CCS lập trình giao tiếp RS232 rất dễ. Tui đã làm thử qua rùi.
Với việc định nghĩa #use RS232 (...), PIC sẽ tự thêm các bit start, stop và VRC cho các bạn. Các bạn chỉ việc viết hàm chuyền và nhận byte. Thế là xong! Trong CCS có hàm gets(), dùng để nhận một byte truyền đến từ chân RX trên VDK. Hàm này sẽ chờ cho đến khi có dữ liệu truyền đến và lấy dữ liệu. Khi sử dụng hàm này, VDK ko làm bất cứ việc gì khác (mình đã test thử). Vì vậy, để tránh hiện tượng này, tốt nhất là ta sử dụng ngắt #int_RDA. Khi có dữ liệu truyền đến sẽ sinh ra một ngắt. Cách sử dụng ngắt này, anh ANHCT đã cho các bạn code rùi, mình ko cần phải viết ra nữa. Tuy nhiên, có thể sửa code đó bằng việc bỏ đi hàm delay. Nếu sử dụng nhiều giao tiếp RS232 trên 1 VDK, bạn có thể dùng hàm kbhit(). Hàm này sẽ phát hiện xem có dữ liệu truyền đến hay ko. Cách sử dụng hàm này thì như sau: if(kbhit()) { xau[i]=gets(); i++; ///...........(các bạn tự thêm code cho mình nha) } Còn việc gửi dữ liệu đi, trong CCS có một hàm là putc(). Hàm này có tác dụng là gửi một chuỗi dữ liệu lên chân TX của PIC. Đế có thể truyền một xâu qua chân TX, ta viết một hàm truyền như sau: void truyen(char c) { putc(c); } hàm trên chỉ truyền một ký tự lên chân TX. Để truyền một xâu, ta sử dụng hàm printf kết hợp với hàm truyen() dạng như sau: string XAU; ...... printf(truyen,"%s",xau); Còn việc tiếp theo là của các bạn. Chúc các bạn thành công!
__________________
Tiền là tiên là phật. Tiền là sức bật của ta. |
|
|
Similar Threads | ||||
Ðề 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 | 188 | 23-01-2023 02:18 AM |
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 |
IO Ports và GUI dùng lập trình giao tiếp RS232 | ngohaibac | Matlab-Simulink & Labview & 20-Sim | 0 | 26-12-2006 10:07 PM |