SPI là một chuẩn giao tiếp do Motorola đưa ra, được dùng chủ yếu để giao tiếp tầm gần giữa các module trong cùng một hệ thống. SPI có thể truyền dữ liệu hai chiều tại cùng một thời điểm. Đây là một giao thức master/slave, có nghĩa là sẽ có duy nhất một trạm đóng vai trò là master và một hoặc nhiều trạm đóng vai trò là slave. Chỉ master được phép điều khiển việc truyền nhận. SPI có 4 dây là clock, dây gửi dữ liệu, dây nhận dữ liệu, và dây chọn slave (trong trường hợp có nhiều slave kết nối vào master). Nguyên lý hoạt động là cứ 1 xung clock thì chip sẽ đọc giá trị tại dây data. SCK - dây clock MISO - master in, slave out MOSI - master out, slave in SS - slave select SPI được sử dụng khá phổ biến, chẳng hạn trong chip NRF24L01 hoặc trong các loại màn hình LCD, OLED, TFT. Bài viết này sẽ hướng dẫn bạn cách viết code 1 chương trình SPI đơn giản giao tiếp giữa hai board SM32F103C8T6. Master trên cổng spi1, slave trên cổng spi2, master sẽ định kỳ cứ 2s gửi 1 byte dữ liệu xuống sla...