![]() |
Help truyền dữ liệu nối tiếp qua 1 chân của pic
giả sử mình có một mảng
int8 const a[5]={3,5.6,8} chẳng hạn bây giờ muốn truyền qua chân B1 của con pic bắt đầu từ phần tử a[0] cho đến a[5] mỗi một phần tử phải truyền đủ 8 bit. sau đó mơi truyền đến phần tử tiếp theo. |
bạn phải nói rõ vấn đề của bạn,bạn có phải muốn truyền dữ liệu nối tiếp phải ko?
mình có 1 giải thuật thế này: Code:
vòng lặp 4 phần tử mãng chúc thành công |
Thuật toán của bạn tranvanthuong đúng với yêu cầu của bạn tieukiep84 rồi. Tuy nhiên trong trường hợp có >= hai bit liền kề nhau là 11 hoặc 00 thì phía bộ nhận liệu có phân biệt được đó là hai hay nhiều bit hay không?
|
Hoac ban co the lam nhu sau
int trang_thai; int8 i,j; for(i=0;i<=4;++i) //quay vong 5 bytes { for(j=0;<=7;++j) //kiem tra trang thai bit cua 8bit { //kiem tra bit:Bit_test____se cho ra ve muc logic cua vi tri Bit Trang_thai=bit_test (a[i],j); // 1 hoac 0 Output_bit(pin_B1,Trang_thai) //truyen trang thai Bit ra cong } } Chuc ban thanh cong ! |
Trích:
Thuật toán của bạn và @tranvanthuong cơ bản là tương tự như nhau. Vấn đề ở đây như mình đã nói đó là trong trường hợp có >= hai bit liền kề nhau là 11 hoặc 00 thì phía bộ nhận làm cách nào để phân biệt được đó là hai hay nhiều bit? Vì khi đó không có sườn xung để chốt dữ liệu. |
ok! nếu vậy chúng ta cần thêm một chân nữa điều khiển,tính năng giống chân Clock là được.
|
ý mình là muốn dùng 2 chân con pic để quet ma trận. chân thứ nhất dùng để xuất dữ liệu, mình xuất nối tiếp sau đó qua mấy con IC ghi dịch, qua một tầng IC chốt để chuyển thành song song để xuất dữ liệu ra, còn chân thứ 2 dùng để quét cột. Vì trong thực tế nếu xuất dữ liệu song song thì con 16f877 rất hạn chế về chân khi quét nhiều hàng.
|
cho mình hỏi có loại pic nào sử dụng được mạng can ko vậy
|
Trích:
http://www.microchip.com/ParamChartS...g=en&pageId=74 Thân, |
Múi giờ GMT. Hiện tại là 12:10 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam