View Full Version : Hỏi về cách đọc data
puppy
23-09-2013, 11:29 AM
Chào các bạn
Mình đang làm cái đồ án máy thu fm có RDS và bí ở phần đọc dữ liệu từ con decoder RDS LC72723. Con này có 2 đường ra là RDCL và RDDA ( như hình dưới). Mình xin hỏi làm thế nào để đọc được dữ liệu này? Mình dùng con PIC6f887.
binhbk247
23-09-2013, 12:57 PM
Dùng chân ngắt ngoài hoặc ngắt RB nối với chân RDCL và 1 chân input bất kì nối với RDDA để đọc dữ liệu
puppy
24-09-2013, 06:15 AM
Dùng chân ngắt ngoài hoặc ngắt RB nối với chân RDCL và 1 chân input bất kì nối với RDDA để đọc dữ liệu
Con LC72723 này nó out data ra liên tục như vậy làm sao để biết đâu là bit đầu nhỉ?
binhbk247
24-09-2013, 04:03 PM
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é
puppy
24-09-2013, 06:28 PM
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.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.