Tugas Pendahuluan - Modul 3




Tugas Pendahuluan 

1. Soal Tugas Pendahuluan
[Kembali]

1. Jelaskan apa itu protokol komunikasi UART, SPI, dan I2C 
2. Bagaimana konfigurasi komunikasi UART pada STM32 dan Raspberry Pipico secara hardware (rangkaian) maupun software (program)
3. Bagaimana konfigurasi komunikasi SPI pada STM32 dan Raspberry Pipico secara hardware (rangkaian) maupun software (program)
4. Bagaimana konfigurasi komunikasi I2C pada STM32 dan Raspberry Pipico secara hardware (rangkaian) maupun software (program)

Jawab:

1.
  •  UART (Universal Asynchronous Receiver-Transmitter)
UART adalah protokol komunikasi serial yang digunakan untuk mengirim dan menerima data secara asinkron. Dalam UART, data dikirim dalam bentuk bit, dan tidak memerlukan sinyal jam eksternal. UART menggunakan dua saluran: satu untuk mengirim (TX) dan satu untuk menerima (RX). Kecepatan komunikasi ditentukan oleh baud rate, dan biasanya digunakan dalam komunikasi jarak pendek.

  • SPI (Serial Peripheral Interface)
SPI adalah protokol komunikasi serial yang digunakan untuk komunikasi antara mikrokontroler dan perangkat periferal. SPI menggunakan empat saluran: satu untuk clock (SCK), satu untuk data dari master ke slave (MOSI), satu untuk data dari slave ke master (MISO), dan satu untuk pemilihan slave (SS). SPI adalah protokol sinkron, yang berarti bahwa data dikirim bersamaan dengan sinyal clock.

  • I2C (Inter-Integrated Circuit)
I2C adalah protokol komunikasi serial yang digunakan untuk menghubungkan beberapa perangkat dengan hanya dua saluran: satu untuk data (SDA) dan satu untuk clock (SCL). I2C adalah protokol sinkron dan mendukung komunikasi multi-master, di mana beberapa master dapat mengontrol perangkat slave. Setiap perangkat di I2C memiliki alamat unik.


2. 

STM32

  • Hardware: Hubungkan pin TX dari STM32 ke pin RX perangkat lain, dan pin RX STM32 ke pin TX perangkat lain. Pastikan ground (GND) terhubung.
  • Software: Gunakan library HAL atau LL untuk mengkonfigurasi UART. Contoh kode untuk inisialisasi UART:
#include "stm32f4xx_hal.h"

UART_HandleTypeDef huart1;

void UART_Init(void) {
    huart1.Instance = USART1;
    huart1.Init.BaudRate = 9600;
    huart1.Init.WordLength = UART_WORDLENGTH_8B;
    huart1.Init.StopBits = UART_STOPBITS_1;
    huart1.Init.Parity = UART_PARITY_NONE;
    huart1.Init.Mode = UART_MODE_TX_RX;
    HAL_UART_Init(&huart1);
}

Raspberry Pi Pico

  • Hardware: Hubungkan pin TX Pico ke pin RX perangkat lain, dan pin RX Pico ke pin TX perangkat lain. Pastikan ground (GND) terhubung.
  • Software: Gunakan MicroPython atau C/C++ SDK. Contoh kode untuk inisialisasi UART:
from machine import UART

uart = UART(0, baudrate=9600, tx=0, rx=1)  # TX=GP0, RX=GP1

3. 

STM32

  • Hardware: Hubungkan pin SCK, MOSI, MISO, dan SS antara STM32 dan perangkat SPI. Pastikan ground (GND) terhubung.
  • Software: Gunakan library HAL atau LL untuk mengkonfigurasi SPI. Contoh kode untuk inisialisasi SPI:
SPI_HandleTypeDef hspi1;

void SPI_Init(void) {
    hspi1.Instance = SPI1;
    hspi1.Init.Mode = SPI_MODE_MASTER;
    hspi1.Init.Direction = SPI_DIRECTION_2LINES;
    hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
    hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
    hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
    hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16;
    HAL_SPI_Init(&hspi1);
}

Raspberry Pi Pico

  • Hardware: Hubungkan pin SCK, MOSI, MISO, dan SS antara Pico dan perangkat SPI. Pastikan ground (GND) terhubung.
  • Software: Gunakan MicroPython atau C/C++ SDK. Contoh kode untuk inisialisasi SPI:
from machine import SPI, Pin

spi = SPI(0, baudrate=500000, polarity=0, phase=0)
cs = Pin(1, Pin.OUT)  # Chip Select

4. 

STM32

  • Hardware: Hubungkan pin SDA dan SCL antara STM32 dan perangkat I2C. Pastikan ground (GND) terhubung.
  • Software: Gunakan library HAL atau LL untuk mengkonfigurasi I2C. Contoh kode untuk inisialisasi I2C:
I2C_Handle


Tidak ada komentar:

Posting Komentar

 BAHAN PRESENTASI UNTUK MATA KULIAH  ELEKTRONIKA Oleh : Salma Salsabila 2210952002    Dosen Pengampu : Darwison, M.T. Darwison, 2010, ”TEORI...