Shiftout (Pin , Pclk, SigBitType , ตัวแปร)
Pin คือขาที่ต้องการส่ง DATA ออกไป ซึ่งปกติขานี้จะต่อกับ SDI ของ device (เพราะตัว MCU เป็น SDO) ถ้าเป็นชิพบางรุ่นจะใช้ว่า Din (เพราะตัว MCU เป็น Dout)
Pclk คือ ขาที่ทำหน้าที่เป็นสัญญาณนาฬิกา ซึ่งต่อที่ขา CLK ของ device
SigbitType มี 4 แบบคือ
แบบที่ 0 - MSB first when edge of clock goes low หมายถึงส่งบิตของตัวแปรที่มีนัยสำคัญสูงสุดออกไปก่อนเมื่อสัญญาณที่ขา Pclk เป็น low
แบบที่ 1 - LSB first when edge of clock goes low หมายถึงส่งบิตของตัวแปรที่มีนัยสำคัญต่ำที่สุดออกไปก่อนเมื่อสัญญาณที่ขา Pclk เป็น low
แบบที่ 2 - MSB first when edge of clock goes high หมายถึงส่งบิตของตัวแปรที่มีนัยสำคัญสูงสุดออกไปก่อนเมื่อสัญญาณที่ขา Pclk เป็น high
แบบที่ 3 - LSB first when edge of clock goes high หมายถึงส่งบิตของตัวแปรที่มีนัยสำคัญต่ำที่สุดออกไปก่อนเมื่อสัญญาณที่ขา Pclk เป็น high
ตัวแปร หมายถึง ตัวแปรชนิด byte, หรือ word
สมมติ เรา Dim Tmp as Byte
Tmp = 65
Shiftout PA.0, PA.1, 0 , Tmp
MCU จะกำเนิดสัญญาณนาฬิกาที่ขา PA.1 จำนวน 8 ครั้ง นับขาขึ้นและลง เป็น 1 ตามความถี่ที่ CPU วิ่งหารด้วย 8
ต่อมา ขา PA.0 จะมีการลำดับบิตดังนี้
65 DEC = 0100 0001 BIN
บิตที่มีนัยสำคัญมากที่สุดคือบิตสุดท้ายที่อยู่ทางซ้ายมือ ส่วนบิตที่อยู่ทางขวามือคือบิตที่มีนัยสำคัญต่ำ
เมื่อสัญญาณขา PA.1 ขึ้นสู่จุดสูงสุดและกลับลงมา ขา PA.0 จะกลายเป็น Low จากนั้น ขา PA.1 จะขึ้นไปสู่จุดสูงสุดและกลับลงมาอีกครั้ง คราวนี้ PA.0 จะเป็น High และจะเป็นอย่างนี้สลับกันตามลำดับบิตของตัวแปร Tmp
PA.1 จะสลับขึ้นลงไปมา 8 รอบ โดยแต่ละรอบ PA.0 จะกลายเป็น 0100 0001 ตามลำดับบิต