shiftOut()

Giới thiệu

shiftOut() có nhiệm vụ chuyển 1 byte (gồm 8 bit) ra ngoài từng bit một. Bit được chuyển đi có thể được bắt đầu từ bit nằm bên trái nhất (leftmost) hoặc từ bit nằm bên phải nhất (rightmost). Các bit này được xuất ra tại chân dataPin sau khi chân clockPin được pulsed (có mức điện thế là HIGH, sau đó bị đẩy xuống LOW).

Lưu ý: Nếu bạn đang giao tiếp với một thiết bị mà chân clock của nó có giá trị được thay đổi từ mức điện thế LOW lên HIGH (rising edge) khi shiftOut, thì bạn cần chắc chắn rằng chân clockPin cần được chạy lệnh này: digitalWrite(clockPin,LOW);

Cú pháp

shiftOut(dataPin, clockPin, bitOrder, value) 

Tham số

dataPin: pin sẽ được xuất ra tín hiệu (int)

clockPin: pin dùng để xác nhận việc gửi từng bit của dataPin (int)

bitOrder: một trong hai giá trị MSBFIRST hoặc LSBFIRST.
(Bắt đầu từ bit bên phải nhất hoặc Bắt đầu từ bit bên trái nhất)

value: dữ liệu cần được shiftOut. (byte)

Chú ý

shiftOut() chỉ xuất được dữ liệu kiểu byte. Nếu bạn muốn xuất một kiểu dữ liệu lớn hơn thì bạn phải shiftOut 2 lần (hoặc nhiều hơn), mỗi lần là 8 bit.

Trả về

không

Ví dụ

Điều khiển 8 đèn LED sáng theo ý muốn của bạn, dễ hay khó ?

Reference Tags: 
lên
8 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Sử dụng cảm biến áp suất BMP180 với board Intel Edison (Sử dụng nodejs)

Bài viết của lequocchi gãi đũng chỗ mình cần để làm tài liệu tham khảo tiếng Việt. Nên mình xin đóng góp một bài viết hướng dẫn sử dụng bmp180 trên Intel Edison. Các bạn cùng theo dõi nhé.

lên
10 thành viên đã đánh giá bài viết này hữu ích.

Hiện tượng tràn số trong lập trình C trong Arduino

Chúng ta sẽ tìm hiểu về hiện tượng tràn số trong lập trình. Nắm bắt được nó và hiểu cách máy tính lưu trữ dữ liệu số nguyên (số nguyên mới có tràn số nha).

lên
9 thành viên đã đánh giá bài viết này hữu ích.