VS Code Plarformio ve CP2102 USB Dönüştürücü ile Attiny13a Programlama

Gokrtl

Gökhan Kartal (TeknoDay)
Staff member
Katılım
27 Şubat 2019
Mesajlar
11,212
Biraz çırpındıktan sonra VS Code Plarformio ve CP2102 USB Dönüştürücü ile Attiny13a Programlama olayını çözdüm.

Öncelikle CP2102 ile Attiny13a bağlantısını yapalım. (Denemedim ama muhtemelen aynı işlemleri Attiny25, Attiny45 ve Attiny85 içinde yapabiliriz)
Bağlantılar resimde gördüğünüz gibi olacak.
GND --> GND
VCC --> VCC
RXD --> TXD
TXD --> RXD
attiny13a_cp2102.jpg


Sonra CP2102 USB Dönüştürücüyü PC ye bağlayalım.
Bu aşamada aygıt yöneticisini açıp bakalım. Eğer bilgisayar CP2102 USB dönüştürücüyü tanımamış ise şu şekilde görünecektir.

Ekran görüntüsü 2024-02-12 163103.png


Bu durumda aşağıdaki ekteki universal driver ile CP2102 USB Dönüştürücüyü bilgisayarınıza tanıtın.
Tanıttıktan sonra aşağıdaki gibi görünecektir. Benim cihazımda COM9'a bağlandı. Sizin cihazınızda hangi porta bağlandıysa onu aklınızda tutun.

Ekran görüntüsü 2024-02-12 163024.png


Şimdi geçelim VC Code'a
Resimde gösterdiğim adımları 1-2-3 tıklayarak yeni bir proje oluşturun.

Ekran görüntüsü 2024-02-12 163453.png


Açılan pencerede "Name" kısmından projenize isim verin.
"Board" kısmından Attiny13'ü seçin ve "Finish" e basın.
Ekran görüntüsü 2024-02-12 163617.png



Dosyanız açıldığında projenizin "platformio.ini" dosyasına tıklayın.
Sol taraftaki geniş alanda "framework" un altındaki iki satırı sonradan biz ekliyoruz.
upload_port = COM[9] ile CP2102 USB Dönüştürücünün bağlı olduğu portu tanıtyoruz. Sizde hangi porta bağlandıysa onun numarasını yazın.
upload_protocol = custom ise bağlantı protokolünün standartın dışında olduğunu bildiriyor.


Ekran görüntüsü 2024-02-12 163816.png


Bundan sonra "src" altındaki "main.cpp" dosyasına kodlarımızı yazıp yükleyebilirsiniz.
 

Ekler

  • CP210x_Universal_Windows_Driver.zip
    280.1 KB · Görüntüleme: 21
upload_protocol = custom ise bağlantı protokolünün standartın dışında olduğunu bildiriyor.
Burada bir sorun var. upload_protocol custom ise burada bizim bir upload_command vermemiz lazım ama bunu vermemişiz. Eğer bu halde çalışıyorsa demek ki default ayar tesadüfen istediğimiz şeyi yapıyor (tesadüfen dedim çünkü dökümantasyonda bulamadım).

Tasklardan Upload seçmek yerine Advanced > Verbose Upload yapıp terminal çıktısını koyabilir misin?
 
Bunun için attiny içinde bootloader olması lazım mı?
Bilmiyorum :)
Ben daha önce çipe uno ile kod atmıştım. Arduino As ISP şeklinde. O zaman bootloader atıyorsa atmıştır. Yoksa yoktur.

Burada bir sorun var. upload_protocol custom ise burada bizim bir upload_command vermemiz lazım ama bunu vermemişiz. Eğer bu halde çalışıyorsa demek ki default ayar tesadüfen istediğimiz şeyi yapıyor (tesadüfen dedim çünkü dökümantasyonda bulamadım).

Tasklardan Upload seçmek yerine Advanced > Verbose Upload yapıp terminal çıktısını koyabilir misin?
Ben biraz google'ı karıştırdım. Deneme yanılma ile buldum. Ne yaptığımdan da çok emin değilim açıkçası. Ama en son "Success" yazdı.

Yetişriebilirsem atayım. İşe gidicem vaktim daraldı.
 
@ckocagil

C++:
Executing task in folder Tiny13 Tek_Buton_On_Of: C:\Users\gokrt\.platformio\penv\Scripts\platformio.exe run --verbose --target upload --environment attiny13a

Processing attiny13a (platform: atmelavr; board: attiny13a; framework: arduino; upload_port: COM[9]; upload_protocol: custom)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/attiny13a.html
PLATFORM: Atmel AVR (5.0.0) > ATtiny13A
HARDWARE: ATTINY13A 9MHz, 64B RAM, 1KB Flash
DEBUG: Current (simavr) External (simavr)
PACKAGES:
 - framework-arduino-avr-microcore @ 2.3.0
 - tool-avrdude @ 1.70200.0 (7.2.0)
 - toolchain-atmelavr @ 1.70300.191015 (7.3.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 7 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
MethodWrapper(["checkprogsize"], [".pio\build\attiny13a\firmware.elf"])
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [==        ]  20.3% (used 13 bytes from 64 bytes)
Flash: [====      ]  35.5% (used 364 bytes from 1024 bytes)
.pio\build\attiny13a\firmware.elf  :

section                    size      addr

.text                       362         0

.data                         2   8388704

.bss                         11   8388706

.comment                     17         0

.note.gnu.avr.deviceinfo     60         0

.debug_aranges               96         0

.debug_info                1338         0

.debug_abbrev               754         0

.debug_line                 419         0

.debug_str                  256         0

Total                      3315
<lambda>(["upload"], [".pio\build\attiny13a\firmware.hex"])
AVAILABLE: custom
CURRENT: upload_protocol = custom
======================================================================================================================================= [SUCCESS] Took 0.79 seconds =======================================================================================================================================
 *  Terminal will be reused by tasks, press any key to close it.
 
Arduino IDE'de UART dönüştürücüyle programlayabiliyor muydun? Hangi seçenekle yapılıyordu?
Arduino IDE de hiç yapamadım. Dönüştürücüyü ilk aldığımda denemiştim olmamıştı. Ben sonra uno üzerinden atmayı öğrenince dönüştürücüyle hiç uğraşmamıştım.

Şundan sipariş etmeyi düşünüyorum:
 
upload_protocol satırını kaldırdığında ne yapıyor?
Şu hatayı veriyor;

C++:
avrdude: Version 7.2-arduino.1
         Copyright the AVRDUDE authors;
         see https://github.com/avrdudes/avrdude/blob/main/AUTHORS

         System wide configuration file is C:\Users\gokrt\.platformio\packages\tool-avrdude\avrdude.conf

         Using Port                    : COM9
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
avrdude stk500_recv() error: programmer is not responding
avrdude stk500_getsync() warning: attempt 1 of 10: not in sync: resp=0x00
 
Bu UART ile upload olayının çalışması için iki şey daha lazım:
1- DTR pini atmeldeki reset pinine 100n kondansatör ile bağlanmalı
2- Atmel üzerinde halihazırda bootloader yüklü olmalı

Bootloader yüklemek için bootloader adında bir task var deniyor dökümantasyonda.

Ben bu bootloaderlar ile uğraşmaktan bıktığım için artık hiçbirini kullanmıyorum. Programlayıcı en iyisi.
 
Bu UART ile upload olayının çalışması için iki şey daha lazım:
1- DTR pini atmeldeki reset pinine 100n kondansatör ile bağlanmalı
2- Atmel üzerinde halihazırda bootloader yüklü olmalı

Bootloader yüklemek için bootloader adında bir task var deniyor dökümantasyonda.

Ben bu bootloaderlar ile uğraşmaktan bıktığım için artık hiçbirini kullanmıyorum. Programlayıcı en iyisi.
hafızası 2 for döngüsü kadar olan attiny13'e sığacak bir bootloader düşünemiyorum :katil2:
 
Bu UART ile upload olayının çalışması için iki şey daha lazım:
1- DTR pini atmeldeki reset pinine 100n kondansatör ile bağlanmalı
2- Atmel üzerinde halihazırda bootloader yüklü olmalı

Bootloader yüklemek için bootloader adında bir task var deniyor dökümantasyonda.

Ben bu bootloaderlar ile uğraşmaktan bıktığım için artık hiçbirini kullanmıyorum. Programlayıcı en iyisi.
Bende yukarıda bahsettiğim programlayıcıyı alayım bari.
 
O bir programlayıcıda değil aslında "brekout board"
Biraz daha fazla verip usbasp alırsan çoğu atmel işlemciyi programlarsın
 
hafızası 2 for döngüsü kadar olan attiny13'e sığacak bir bootloader düşünemiyorum :katil2:
O zaman bootloader yoktur onda :D Atmeller için genel okuduklarımı söylüyorum

Bende yukarıda bahsettiğim programlayıcıyı alayım bari.
Onun programlayıcı olduğundan emin miyiz? Arka tarafını göremedim, gördüğüm tarafta sadece lineer regülatör ve pin breakout var.

"Arduino as ISP" çalışmıyor mu?
 

Forum istatistikleri

Konular
5,844
Mesajlar
99,690
Üyeler
2,481
Son üye
rfdog12

Son kaynaklar

Son profil mesajları

gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top