![]() |
|
Tài trợ cho PIC Vietnam |
Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
|
![]() |
#1 | |||
Đệ tử 8 túi
|
Trích:
Nhưng mà mấy byte cũng được, quan trọng là dựa vào số byte truyền và thời gian truyền nhận, mình có thể cân đối thời gian delay một cách hợp lí để tăng tốc độ truyền nhận lên. Trích:
![]() Trích:
![]() |
|||
![]() |
![]() |
![]() |
#2 |
Trưởng lão PIC bang
Tham gia ngày: Jun 2006
Bài gửi: 39
: |
sau khi dọc bằng lệnh
// attempt an asynchronous read operation bResult = ReadFile(handle,pData,dwLen,&nBytesRead,&gOverlapp ed); người ta kiểm tra kết quả trả về if(!bResult) { KL1 } else { KL2 } Mục đích của KL1 là nếu đọc chưa được thì đợi, đọc và cập nhật lại bResult. Do đó sủ dụng lệnh WaitForSingleObject(gOverlapped.hEvent, dwMilliseconds) Như vậy tốc độ < 1Khz. Nhưng ngay cả khi minh lấy dwMilliseconds=10, truyền 10Byte vẫn lỗi. Bây giờ ý mình là ko đợi nữa, if(!bResult) { CancelIo(handle); break; } else { KL2 } ResetEvent(gOverlapped.hEvent); CloseHandle(gOverlapped.hEvent); Có ok không nhỉ ? |
![]() |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|