คำถามติดแท็ก spi

1
คุณใช้ SPI บน Arduino ได้อย่างไร
อ้างอิงถึง Arduino Uno, Mega2560, Leonardo และบอร์ดที่คล้ายกัน: SPI ทำงานอย่างไร SPI เร็วแค่ไหน ฉันจะเชื่อมต่อระหว่างนายกับทาสได้อย่างไร? ฉันจะสร้างทาส SPI ได้อย่างไร โปรดทราบ: นี่เป็นคำถามสำหรับการอ้างอิง


3
วิธีเพิ่มความเร็วในการเขียนการ์ด SD ใน arduino
ฉันสร้างระบบตัวบันทึกข้อมูลซึ่งบันทึกข้อมูลในการ์ด SD ด้วยความเร็วสูงประมาณ 20,000-300,000 ไบต์ต่อวินาที แต่ปัจจุบันห้องสมุด SD ใน arduino เขียนข้อมูลอยู่ที่ประมาณ 4500-5,000 ไบต์ต่อวินาทีซึ่งช้าเกินไป ฉันได้อ่านหนังสือเล่มนี้สับเพื่อปรับปรุงความเร็วในการเขียนแต่ฉันสงสัยว่าถ้ามีวิธีการโดยตรงมากขึ้นเป็นไปได้ที่อาจจะโดยการปรับSPISettings

2
เครือข่าย Multipoint Mesh แบบมีสายราคาถูก
ฉันกำลังมองหาเซ็นเซอร์โหลด 15 x 15 ตารางและ LED RGB สำหรับฟลอร์เต้นรำแบบโต้ตอบ แต่ละโหนดจะถูกขับเคลื่อนโดย arduino และพื้นทั้งหมดจะถูกจัดการโดย RaspberryPi ฉันพยายามหาวิธีที่ดีที่สุดในการให้โหนดสื่อสารกับ Pi นึกคิดเครือข่ายจะมีลักษณะเหล่านี้: ราคาต่อโหนดต่ำ ราสเบอร์รี่ปี่ในฐานะปรมาจารย์โหนดอาร์ดิโนเป็นทาส ความสามารถในการรู้ว่าแต่ละโหนดอยู่ในตาราง การเยียวยา: ถ้าปมลงไปมันจะไม่นำออกมาทั้งหมด สามารถแทนที่โหนดที่เสียหายได้อย่างง่ายดาย อุปกรณ์อิเล็กทรอนิกส์สำหรับแต่ละโหนดจะห่างกัน ~ 12 นิ้ว เจ้านายจะอยู่ห่างจากเมทริกซ์ 5 - 10 ฟุต จนถึงตอนนี้ฉันได้ทำงานหนักกว่าสองสามเณร I2C นี่จะอนุญาตให้แต่ละโหนดสามารถกำหนดแอดเดรสได้ แต่ดูเหมือนว่า Arduino จะอนุญาตได้เพียง 127 ที่อยู่เท่านั้นและเมทริกซ์นี้จะมีอย่างน้อย 225 โหนด SPI ถ้าเดซี่ถูกล่ามโซ่มันจะง่ายต่อการรู้ว่าแต่ละโหนดอยู่ในเมทริกซ์ แต่ถ้ามีหนึ่งโหนดที่จะแตกโหนดทั้งหมดหลังจากนั้นก็จะหยุดสื่อสาร (ใช่ไหม) ฉันสามารถแยกเดซี่แต่ละแถวออกจากกันได้ดังนั้นหากใครลงไปมันจะมีผลกับแถวนั้นเท่านั้น 1-Wire 1-wireนั้นดูมีแนวโน้ม ฉันต้องหาวิธีของตัวเองในการกำหนดตำแหน่งของโหนดซึ่งสามารถทำได้หลายวิธี Custom Serial …
11 serial  i2c  spi  networking 

1
SPI Arduino เนื่องจากข้อขัดแย้งกับ pinMode (), ข้อผิดพลาด?
ลองพิจารณาตัวอย่างเล็กน้อยต่อไปนี้ที่ฉันตั้งค่าpinModeก่อนเรียกใช้ฟังก์ชัน SPI: #include <SPI.h> void setup() { pinMode(10, OUTPUT); SPI.begin(10); SPI.setDataMode(10,SPI_MODE1); } void loop() { delay(1000); SPI.transfer(10,1); } ตอนนี้เมื่อSPI.transfer(10,1)ถูกเรียกเข้าไปloop()ฉันเห็นเสมอว่าพินที่เลือกของทาสนั้นลดลงเหลือ 1.65V แต่ไม่ใช่ 0 เท่าที่ควร! (ดูภาพด้านล่าง) หากเราไม่โทรpinMode()เช่นนี้: #include <SPI.h> void setup() { SPI.begin(10); SPI.setDataMode(10,SPI_MODE1); } void loop() { delay(1000); SPI.transfer(10,1); } เราได้สิ่งที่เราคาดหวังเมื่อโทรSPI.transfer: นั่นเป็นข้อบกพร่องหรือคุณมีคำอธิบายสำหรับพฤติกรรมนั้นหรือไม่? ขอบคุณล่วงหน้าสำหรับเวลาและความสนใจของคุณ!
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.