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
9 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ả

MJPG Streamer vs Intel Galileo - Truyền hình ảnh từ webcam trong mạng LAN với Intel Galileo

Vấn đề truyền hình ảnh từ webcam trong mạng LAN không phải là một vấn đề mới trong việc lập trình nhúng. Ví dụ như trên Raspberry Pi, chúng ta hoàn toàn có thể sử dụng MJPG Streamer để làm được việc này. Tuy nhiên, khác với Raspberry Pi, Intel Galieo không đơn giản như vậy, bởi vì chưa có một bài viết hoàn chỉnh chỉ về vấn đề này trên cộng đồng Intel Galileo thế giới. Vì vậy, mình muốn đóng góp một phần nhỏ để các bạn có thể làm được điều này trên con Intel Galileo của mình (không phân biệt Intel Galileo Gen 1 hay Intel Galileo Gen 2 nhé).

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

Dùng ATTiny13 để shiftOut ra IC 595 điều khiển nhiều LED

Qua bài viết Bài 2: Attiny13 - Trợ thủ đắc lực của Arduino - Lập trình nó?, chúng ta đã biết được cách lập trình một bé ATTiny13 để làm nhấp nháy một chú đèn LED. Hôm nay, chúng ta sẽ nâng cao một tí nữa, chúng ta sẽ lập trình chú ATTiny13 này để shiftOut ra 8 LED và hơn thế nữa!

Nếu bạn chưa biết về shiftOut, bạn có thể xem bài viết này và thực hiện nó trước!

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