Trích:
Nguyên văn bởi binhbk247
nó đưa ra dữ liệu 8 bit theo từng xung RDCL hay sao bạn?
Ví dụ nó đưa ra dữ liệu 8 bit thì sẽ ứng với 8 xung clock, khi đó ngắt sẽ xảy ra 8 lần. Bạn dùng 1 biến đếm trong ngắt, sau mỗi lần ngắt tăng lên 1 đơn vị, sau 8 lần thì set lại bằng 0 để nhận giá trị data tiếp theo. Có thể code như sau
int i=0,temp=0,data;
#int_ext
void nhan_data() {
if(RDDA==1) bit_set(temp,i);
else bit_clear(temp,i)
i++;
if(i==8) { data=temp; i=0; }
}
Ở đây là nhận từ bit 0 - bit 7. Nhưng nếu con này truyền dữ liệu từ bit 7 - bit 0 thì ngược lại nhé.
PS: đây chỉ là code tham khảo vì mình ko rõ con này hoạt động ntn, bạn code lại cho đúng nhé
|
Cảm ơn bạn
Con này nó đưa ra 128 bit vấn để là nó đưa ra liên tục nên mình không thể biết bit đầu và bit cuối nó ở đâu để bắt đầu đọc.