> ## Documentation Index
> Fetch the complete documentation index at: https://docs.t3gemstone.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Seri Port

> Seri Port kullanımı

export const int_0 = "Arayüz"

export const device_0 = "Cihaz"

export const file_0 = "Overlay Dosyası"

<Tip>
  Bölüm bitiminde aşağıdaki konularda deneyim kazanacaksınız

  * USB TTL kablosu aracılığıyla Geliştirici bilgisayarı ve Gemstone arasında seri port bağlantısı kurmak.
  * Terminal aracılığıyla her iki bilgisayarı haberleştirmek.
  * [t3gemstone/examples/serial](https://github.com/t3gemstone/examples/tree/main/serial) projesi için ön hazırlık.
</Tip>

Seri port, bilgisayarlar ve mikrodenetleyiciler gibi cihazlar arasında veri iletimini sağlayan,
bir iletişim yoludur. Bu iletişim genellikle `UART (Universal Asynchronous Receiver-Transmitter)`
protokolü üzerinden gerçekleşir ve düşük hızda veri iletimi için idealdir. Örneğin GPS, Radio Transmitter
gibi harici modüllerle haberleşme kurulurken çoğu zaman seri port tercih edilir.

### Seri Port Arayüzleri

T3-GEM-O1 kartta yer alan seri port arayüzleri aşağıdaki tabloda listelenmiştir.

<Frame caption="Seri port olarak kullanılabilecek pinler">
  <img className="rounded-lg" src="https://mintcdn.com/t3gemstone-754bcb96/xXa-dgH9QsK0Txx6/images/o1-board/33-serials.png?fit=max&auto=format&n=xXa-dgH9QsK0Txx6&q=85&s=dfe2c62300278d4ca66a1e33c901f951" width="1221" height="750" data-path="images/o1-board/33-serials.png" />
</Frame>

<Frame caption="UART-MAIN0 TTL Portu Bağlantısı">
  <img className="rounded-lg" src="https://mintcdn.com/t3gemstone-754bcb96/uJeZoP5Biqzgvh8k/images/o1-board/35-serial-port-ttl-2.png?fit=max&auto=format&n=uJeZoP5Biqzgvh8k&q=85&s=f4f99381c4c1f23d97f63f4bb8bb3c35" width="1053" height="639" data-path="images/o1-board/35-serial-port-ttl-2.png" />
</Frame>

| {int_0}        | {device_0} | GPIO (RX)     | GPIO (TX)     | {file_0}                             |
| -------------- | ---------- | ------------- | ------------- | ------------------------------------ |
| **UART-MAIN0** | `ttyS2`    | Serial Header | Serial Header |                                      |
| **UART-MAIN1** | `ttyS3`    | GPIO-15       | GPIO-14       |                                      |
| **UART-MAIN6** | `ttyS6`    | GPIO-4        | GPIO-17       | `k3-am67a-t3-gem-o1-uart-ttys6.dtbo` |
| **UART-WKUP0** | `ttyS0`    | GPIO-7        | GPIO-24       | `k3-am67a-t3-gem-o1-uart-ttys0.dtbo` |

<Note>
  * UART-MAIN0 seri portundan Linux terminaline erişilmektedir.
  * `k3-am67a-t3-gem-o1-pwm-epwm0-gpio5-gpio14.dtso` overlay'i etkinleştirildiğinde UART‑MAIN1 TX pini devre dışı
    bırakılır, ancak RX pini normal şekilde çalışmaya devam eder.
  * UART-MAIN6 seri portu aktif edildiği zaman Bluetooth devre dışı kalmaktadır.
</Note>

Aktif edilmek istenen arayüzlerin overlay dosyalarının isimleri `/boot/uEnv.txt` dosyasındaki `overlays` değişkenine
eklenmelidir. Overlay'ler hakkında detaylı bilgiye [Device Tree](./introduction/#2-device-tree) bölümünden
erişilebilir.

### Seri Port Kullanımı

<Steps>
  <Step title="SSH/VNC Bağlantısı">
    [SSH](../../../quickstart#2-3-ssh-ile-network-üzerinden-bağlantı) veya
    [VNC](../../../quickstart#2-2-vnc-ile-tarayıcıdan-uzak-masaüstü-bağlantısı) yöntemlerinden birisiyle Geliştirme kartına
    bağlan.
  </Step>

  <Step title="Shell">
    Bash Shell scriptlerini oluştur.
  </Step>

  <Step title="TTL ve Terminal">
    TTL kablosu ile Geliştirici bilgisayarı ve Gemstone kartını bağlayarak Tabby.sh isimli terminal aracılığıyla
    veri alışverişi gerçekleştir.
  </Step>
</Steps>

#### 1. Shell Script Oluşturulması

Seri port açma ve veri gönderme işlemleri için script dosyası oluşturunuz.

```bash theme={"system"}
touch serial-test.sh
```

#### 2. Metin Editörü Kullanımı

Terminal arayüzünden `nano` isimli metin editörünü kullanarak `serial-test.sh` dosyasını açınız.

```bash theme={"system"}
nano serial-test.sh
```

Aşağıdaki kodu kopyaladıktan sonra `serial-test.sh` dosyasına yapıştırınız.

```bash lines theme={"system"}
#!/bin/bash

SERIAL_PORT="/dev/ttyS3"
BAUD_RATE="115200"

stty -F /dev/ttyS3 115200 -crtscts

while true; do
    echo "Teknofest" > $SERIAL_PORT
    sleep 1
done
```

`CTRL+X`'e bastıktan sonra `Y` tuşuna basıp nano editöründen çıkış yaparak kaydetme işlemini tamamlayınız.

#### 3. Shell Scriptinin Çalıştırılması

`chmod` komutu ile `serial-test.sh` dosyasını çalıştırılabilir hale getirerek başlatınız.

<CodeGroup>
  ```bash Terminal lines theme={"system"}
  chmod +x serial-test.sh
  ./serial-test.sh
  ```

  ```bash Output lines theme={"system"}
  ```
</CodeGroup>

#### 4. Haberleşme

<Frame>
  <video controls className="w-full aspect-video" src="https://mintcdn.com/t3gemstone-754bcb96/oFj6OOIrYSQVBj-3/videos/seri-test.mp4?fit=max&auto=format&n=oFj6OOIrYSQVBj-3&q=85&s=94cdd4d850ccb4e8fdfaa371f96370b7" data-path="videos/seri-test.mp4" />
</Frame>
