Trích:
Nguyên văn bởi cskiller
Bạn có thể tham khảo cách hiện thực đơn giản này:
Code:
...
#define BITS_COUNT 400
int16 count=0; // Bat dau tai vi tri byte 0
int8 buff[BITS_COUNT/8]; // Dung mat 50 Bytes
....
void SetBitData(int1 value) // Goi ham moi 10us de luu gia tri cua bit doc duoc
{
// Gan lan luot tung bit (13 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++==BITS_COUNT){
// Nhan du 400 bits va thuc hien truyen du lieu 50 bytes ve may tinh
count=0; // Reset lai ve vi tri byte 0
}
}
...
Regards
|
Cám ơn anh! mấy hôm e không vào mạng được. bài toán của e buộc fải dùng 50 byte. Anh có thể giải thích kỹ cho e đoạn chương trình đó được kô? thú thực e vẫn còn lơ mơ lắm.thanks!