Trích:
Nguyên văn bởi tkpro
bai toan cua minh cu the nhu sau: cu 10 us mot, doc gia tri tu mot chan cua chip (la 0 hoac 1) . Doc den 400 bit thi quay lai tu dau.sau do gui sang may tinh theo chuan RS232. chinh vi vay ma minh goi chung thanh tung byte de gui cho tien. ban thay sao?
co j mong anh e chi ju[. thanks!
|
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