Sejauh yang saya tahu, transmisi SPI untuk budak SPI bekerja seperti di bawah ini:
- Master memilih seorang budak menggunakan pin SS
- Master dan slave saling mengirim data secara bersamaan
- Master memulai transmisi jam dan data pada saat yang sama (tidak ada jam sebelum operasi penulisan)
- Master menghentikan transmisi kapan saja diinginkan (dengan menghentikan operasi penulisan dan pembuatan jam), bahkan jika budak memiliki lebih banyak data untuk dikirim.
Apakah ada konfigurasi budak SPI yang memungkinkan budak mengirim data tanpa izin master?
Saya hanya berpikir keras. Asumsikan bahwa hanya ada satu budak dan jam terus menerus disediakan oleh master dll.
Bahkan jika pernyataan yang diasumsikan benar, jangan master dan budak kehilangan sinkronisasi byte (yaitu menerima bit stream) karena tidak ada bit start-stop untuk SPI?
Saya mengajukan pertanyaan seperti itu karena saya telah membaca bagian berikut dari dokumen ini .
2.2 Contoh SPI
Contoh SPI terlampir menggambarkan penggunaan USART dalam mode sinkron. USART1 dikonfigurasi sebagai slave, sedangkan USART2 adalah master. Transaksi berikut terjadi:
- Transmisi data dari master ke slave.
- Transmisi data dari slave ke master.
- Transmisi data dari master ke slave dan dari slave ke master secara bersamaan.
Dokumen memberikan contoh SPI tetapi menyadari contoh menggunakan perangkat USART. Dan saya mendapatkan bahwa budak USART dapat memulai transmisi tanpa izin dari master.
Saya tidak dapat menemukan kode sumber yang dirujuk oleh dokumen.