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ả

kLaserCutter - Tự làm máy cắt laser bằng mã nguồn người Việt - Phần 1: "In" máy cắt của chính bạn

Tớ là một người rất thích bộ môn nghệ thuật Kirigami – cắt giấy. Tuy nhiên, tớ không phải là một người khéo tay và thường xuyên cắt phạm giấy hoặc bị thương. Nhưng không vì thế mà khiến tớ bỏ qua bộ môn nghệ thuật đòi hỏi sự sáng tạo này. Các bạn thấy đấy, tớ đã đặt mục tiêu xây dựng chiếc máy cắt laser dưới 1 triệu đồng và đã hoàn thiện được nó. Tuy nhiên, trong phiên bản đó, vẫn có những điều tớ chưa hài lòng và cuối cùng những điều đó đã được khắc phục trong phiên bản máy cắt laser mã nguồn và phần cứng mở kLaserCutter - dự án phần cứng cùng với phần mềm mở đầu tiên ở Việt Nam.

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