TPM3
1. Penjelasan Protokol Komunikasi UART, SPI, dan I2C
a. UART (Universal Asynchronous Receiver Transmitter)
-
Komunikasi serial asinkron, hanya butuh dua jalur: TX (transmit) dan RX (receive).
-
Tidak membutuhkan clock eksternal; sinkronisasi data dilakukan lewat start dan stop bit.
-
Cocok untuk komunikasi jarak pendek antar dua perangkat.
b. SPI (Serial Peripheral Interface)
-
Komunikasi serial sinkron full-duplex.
-
Membutuhkan 4 jalur utama:
-
MOSI (Master Out Slave In)
-
MISO (Master In Slave Out)
-
SCK (Serial Clock)
-
SS/CS (Slave Select/Chip Select)
-
-
Cocok untuk komunikasi cepat dengan banyak slave (menggunakan banyak pin SS).
c. I2C (Inter-Integrated Circuit)
-
Komunikasi serial sinkron half-duplex.
-
Hanya butuh dua jalur: SDA (data) dan SCL (clock).
-
Menggunakan alamat untuk memilih device di bus.
-
Cocok untuk komunikasi dengan banyak perangkat menggunakan hanya dua kabel.
2. Konfigurasi UART pada STM32 dan Raspberry Pi Pico
a. Hardware (Rangkaian)
STM32F103C8 (misalnya Blue Pill):
-
TX (PA9), RX (PA10)
-
Hubungkan TX STM32 ke RX Pico dan sebaliknya. Gunakan level shifter jika Pico 3.3V dan STM32 5V.
Raspberry Pi Pico:
-
UART0: TX = GP0, RX = GP1 (default)
-
UART1: TX = GP4, RX = GP5 (opsional)
b. Software (Program)
STM32 (dengan STM32CubeMX + HAL):
-
Enable USART1.
-
Konfigurasi baudrate, parity, stop bits.
-
Gunakan
HAL_UART_Transmit()
danHAL_UART_Receive()
.
Raspberry Pi Pico (MicroPython):
3. Konfigurasi SPI pada STM32 dan Raspberry Pi Pico
a. Hardware (Rangkaian)
STM32:
-
MOSI = PA7, MISO = PA6, SCK = PA5, CS = PA4 (SPI1 default)
Pico:
-
SPI0: SCK = GP2, MOSI = GP3, MISO = GP4, CS = GP5
Hubungkan sesuai peran Master/Slave.
b. Software
STM32 (HAL):
Raspberry Pi Pico (MicroPython):
4. Konfigurasi I2C pada STM32 dan Raspberry Pi Pico
a. Hardware
STM32:
-
SDA = PB7, SCL = PB6 (I2C1 default)
Pico:
-
I2C0: SDA = GP0, SCL = GP1
-
Gunakan pull-up resistor 4.7kΩ – 10kΩ pada SDA dan SCL.
b. Software
STM32 (HAL):
Raspberry Pi Pico (MicroPython):
Komentar
Posting Komentar