08-05-2006, 03:17 PM | #1 |
Đệ tử 2 túi
Tham gia ngày: Apr 2006
Bài gửi: 32
: |
Làm thế nào để timeout khi dùng hàm getc() của CCS sau một thời gian nhất định, định trước? GETC() là một hàm mà CCS đã có sẵn trong thư viện của nó, nhiệm vụ của getc() là chờ nhận một ký tự mà ký tự đó được truyền tới từ một đầu cuối khác thông qua công truyền thông nối tiếp UART. Khi dùng hàm này, chúng ta hết sức cẩn trọng bởi cái việc "chờ" một ký tự được coi là hợp lệ. Vấn đề này giải quyết thế nào đây? CCS đã mách rằng, hãy sử dụng hàm khbit(). Sau đây là một ví dụ mà CCS cung cấp để giải quyết vấn đề này:
Code:
short timeout_error; char timed_getc() { long timeout; timeout_error=FALSE; timeout=0; while(!kbhit&&(++timeout<50000)) // 1/2 second delay_us(10); if(kbhit()) return(getc()); else { timeout_error=TRUE; return(0); } } thay đổi nội dung bởi: falleaf, 11-05-2006 lúc 10:56 PM. |
|
|
Similar Threads | ||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
Căn bản về xử lý ảnh? | falleaf | Xử lý ảnh | 26 | 21-08-2016 01:14 AM |
bài tập thực hành căn bản orcad | tanhot | Thực hành | 24 | 05-07-2011 09:26 AM |
Tự động hóa nguyên công chế tạo | tinhthanthep | PIC - Thiết kế và Ứng dụng | 1 | 17-01-2006 09:42 AM |