![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
|
![]() |
#1 |
Đệ tử 4 túi
Tham gia ngày: Aug 2008
Bài gửi: 89
: |
Tôi khuyên bạn nên collect 256 bits là tối ưu nhất thay vì 400 để đảm bảo với thời gian 10us, vì với 256 bits có thể dùng 1 byte để count và việc shift bit có thời gian thực thi nhanh hơn rất nhiều:
Code:
... #define BITS_COUNT 256 int8 count=0; // Bat dau tai vi tri byte 0 int8 buff[BITS_COUNT/8]; // Dung mat 32 Bytes .... void SetBitData(int1 value) // Goi ham moi 10us de luu gia tri cua bit doc duoc { // Gan lan luot tung bit (5 bits cao xac dinh byte va 3 bits thap xac dinh bit) if(value==1) buff[count>>3]|=(1<<(count&0x07)); else buff[count>>3]&=(~(1<<(count&0x07))); if(++count==0){ // Nhan du 256 bits va thuc hien truyen du lieu 32 bytes ve may tinh // Khong can reset count ve 0 vi tu dong tran so 1 byte } } ...
__________________
Quang báo RG/RGB 6/8/12/16 bits màu Phone No: 0905.034.086 Email: lmquyen@gmail.com thay đổi nội dung bởi: cskiller, 11-07-2009 lúc 02:58 PM. |
![]() |
![]() |
![]() |
|
|