uzun bir süredir PIC ile ilgileniyordum. elimden geldiği ve işime yaradığı kadar birşeyler yapabiliyorum. şimdi ise atmel öğrenmek istiyorum . Nerden başlamalıyım.
1-hangi atmel mikrodenetleyicisinden başlamalıyım atmega mı? attiny mi?
2 hangi derleyiciyi kullanmalıyım (C tabanlı olmasını istiyorum)
3- hangi programlayıcıyı kullanmalıyım.
yardımcı olursanız sevinirim.
Bence denetleyici için istediğiniz genel özellikleri alttaki siteden ayarlayıp bir seçim yapabilirsiniz:
www.atmel.com/v2pfresults.aspx (http://www.atmel.com/v2pfresults.aspx)
Atmega644P güzel bir başlangıç olabilir. 40 pinli DIP pakette, 2 uartlı, 2.7V - 5.5V arası çalışabiliyor. Datasheet'ine bakarsınız.
Derleyici olarak Atmel Studio'ya bakabilirsiniz. Programlayıcı olarak da avrisp mkii'dan başka bir şey kullanmadım o yüzden alternatif bir öneride bulunamayacağım.
sn. Üstad . MK2 kullandığınıza göre size bir sorum var .
atmega8 16 - 32 kullanıyorum , isp usb programlayıcı kullanıyorum . configrasyon ayarlarını değiştirdiğimde özellikle osilatör ayarını birdaha programlama yapamıyorum . eğer dip atmega kullanıyorsam paralel programlayıcıya takıyorum ve config ( fuse) ayarlarını tekrar yapıyorum ve ısp programlayıcıyı tekrar kullanabiliyorum fakat smd de fuse ayarlarını bozduğumda geri dönüşü olmuyor ve sağlam çipi söküp atıyorum . Burada çözüm nedir ?
Sayın PAX
PIC'den sonra neden ATMEL öğrenmek istediniz?. Neden ST32, Reunesans değilde ATMEL? Tercih nedenlerinizi merak ettim doğrusu.
iyi günler
Alıntı yapılan: miyago - 28 Mayıs 2015, 13:32:54
Sayın PAX
PIC'den sonra neden ATMEL öğrenmek istediniz?. Neden ST32, Reunesans değilde ATMEL? Tercih nedenlerinizi merak ettim doğrusu.
iyi günler
merak ettiğim için. sizce kullanmamalımıyım
Ben pic kullanıyorum , en sevdiğim 18f4620 , ayrıca at89c52 ve atmega serisi kullanıyorum . Neden atmega kullanıyorum derseniz , atmeganın compaler inde similatör var ve regersterleri görebiliyorum , ayrıca spı ve reri iletişim de oldukca başarılı ve interuplar çok çüzel ve hızlı , ayrıca fiyat olarak pic e göre çok uygun . diğer bir konuda ticari bir devre yapacaksam atmega kullanmaya çalışıyorum çünkü kopyalanmaya çalışıldığında Atmeganın türkçe dökümanı olmadığı için daha güvenli oluyor , ayrıca Atmega ile uğraşan mühendis sayısı daha az ,
At89c52 8052 ile ayni mi ve programlama için hangi orogramlayiciyi kullanıyorsunuz. Atmega ile farkı nedir?
AT89Cxx 8051 ailesinden işlemcilerdir. saat frekansı (kristal) 12'e bölünerek kullanılır. AT89Sxx serisi ISP ile de programlanabilir. 2 tane genel amaçlı register var (a ve b)
Atmega serisi RISC işlemciler grubundandır. Kristal frekansı (saat) bölünmeden aynen kullanılır. 1MIBS/MHZ gibi bir orana sahiptir. 32 adet genel amaçlı registeri vardır, bunlardan 6 tanesi 16 bitlik işlemler (2şerli olarak) için birlikte kullanılabilir.
Komut setleri ve komut işleme yapıları tamamen farklıdır.
bence,
1) atmega16/32/64
2) atmelin kendisi avr-gcc 'yi destekliyor direk onu kullan
ide olarak Atmel Studio 'yu kullanmanı tavsiye ederim gayet güzel IDE modikifasyonu olmuş
ama fanboy'san eclipse'de kullanabilirsin
3) limitli paran varsa atmel-ice, paran varsa stk600
1) Atmega 8 Serisi başlangıç için iyi
2) Kesinlikle Gnu derleyicisi kullanın. Windowsda winavr programı vardı. İşini görür eğer arayüz hoşuna gitmezse atmel studio da olur. Oda gcc kullanıyor.
3) Usbasp olabilir. Fiyatları ucuz..
mikroelektronikanın derleyicisi süper . 8051 , avr , pic ve arm için ayrı ayı var ve hepsi için c , basic , ve pascal ile yazılım yapabiliyorsunuz ve basic kullanıcıları mükemmel şeyler yapabilir.,
tavsiyem atmega 8 alın 0.5 usd , mikroelektronika dan kangi dili kullanıyorsanız onun derleyicisini indirin ve hemen başlayın . Mikroelektronika programlıyıcıyı da tanıyor . ki başlangıçta gerek yok çünkü isis te simile edebilirsiniz .
Yani hiç para harcamadan mikroelektronika compiler ve isis ile hemen başlayın derim
Alıntı yapılan: t600 - 29 Mayıs 2015, 09:14:53
tavsiyem atmega 8 alın 0.5 usd ,
Hocam 0.5usd' ye nereden alıyorsunuz?
Ben buradan alıyorum.
http://www.ebay.com/itm/290729693318?_trksid=p2060353.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT (http://www.ebay.com/itm/290729693318?_trksid=p2060353.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT)
Teşekkürler.
Hesaba vurunca ucuza geliyor.
Şununla da başlayabilirsiniz:
http://www.aliexpress.com/item/Free-Shipping-1pcs-lot-ATMEGA328P-Pro-Mini-328-Mini-ATMEGA328-5V-16MHz-for-Arduino/32291252874.html (http://www.aliexpress.com/item/Free-Shipping-1pcs-lot-ATMEGA328P-Pro-Mini-328-Mini-ATMEGA328-5V-16MHz-for-Arduino/32291252874.html)
Üzerinde 32Kb'lık ramiyle atmega328, kristal, reset butonu, voltaj regülatörü vs her bi şeyi var.
İster normal atmel olarak programlayın ister tx-rx pinine USB-serial dönüştürücü bağlayıp arduino olarak kullanın (Arduino olarak kullanmak için yüklü olarak gelen bootloader'i silmemeniz veya sildiyseniz tekrar yüklemeniz gerekli).
Bundan iyisi Şam'da kayısı.
4 yıldır zaten arduino kullanıyorum. ben atmeli öğrenmek istiyorum .
Atmel işlemciler açısından tiny veya Atmega serisinin kullanımında aman aman bir fark yok. Sadece tiny serisi mega serisinin kırpımış sürümü gibi duruyor. Fiyat açısından uygun ve bulunabilirlik açısından Atmega8 ve Atmega328 (arduino nedeniyle) daha yüksektir.
Örneğin Atmega16 ile Atmega32 neredeyse (ram ve flash) hariç aynıdır. Çoğu durumda programda hiç değişiklik yapmadan kullanabilirsin.
Derleyici olarak Atmel AVR studio kullanabilirsin. Son sürümü Atmel ürünlerinin tamamını destekleyecek şekilde tasarlanmış. Gerektiğinden ek modüllerini sitesinden indirebiliyorsun. Eğer bir değişiklik yapmadılarsa Microsoft'un Visual Studio programının arayüzünü kullanıyor. ( yalıtılmış bir şekilde)
C, asm ve diğer dilleri entegre edebiliyorsun. Hatta uğraşırsan arduino yazılımını bile entegre edibiliyorsun.
Programlayıcı olarak Atmel'in kendi ürünlerinden birini kullan derim, sıkıntı çıkarmadan Atmel AVR studio ile kullanabiliyorsun.
tft ekran ile ilgili bir çalışma yaptım 420x320 tft . ilk önce 18f serisi 16 mibs bir pic kullandım , hız yetmedi ve atmrga 128 kullandım , çünkü atmega128 in 16 bit adres yolu var , ama en son olarak stm 32f4 kullandım , fiyat olarak çok bir fark yok fakat pic veya atmega ile 16 mibs te kaldım , tabiki taramalar çok yavaştı fakat stm32 200 mibs . ve birçok artısı var , daha ucuz çözümler için 1.4 usd ye stm 32f1 var ve 1.5 Dmibs . ve 32 bit. sanırım arm stm fiyat ve diğer herşey için en güzel çözüm diye düşünüyorom . yani 18f4620 veya ona eş bir denetliyicinin 3 te bir fiyatına arm alıyorsunuz , 32 bit ve süper hızli ,
t600
Elimde stm32f4 kiti mevcut. Arm ye bir sonraki aşamada geçmeyi düşünüyorum.
birkaç senedir arduino kullanıyorum. arduino ile paralel gitsin diye atmel'e geçmek istiyorum. anladığım kadarıyla atmega8 ile başlamayı düşünüyorum.derleyici olarak avr studio mantıklı geldi. ancak geçmişte bir ara keil kullanmıştım. keil ile avr studio arasında sizce hangisini tercih etmeliyim. ?
Keil Atmel AVR'yi desteklemiyor.Atmel studio ve ya WINAVR GCC ile başlanabilir.
Alıntı yapılan: AST - 01 Haziran 2015, 09:52:49
Keil Atmel AVR'yi desteklemiyor.Atmel studio ve ya WINAVR GCC ile başlanabilir.
haklısınız. ben yanlış hatırlamışım.
Alıntı yapılan: pax - 30 Mayıs 2015, 12:29:54
4 yıldır zaten arduino kullanıyorum. ben atmeli öğrenmek istiyorum .
Arduino kartın üzerine avrdude ile Atmel programlıyormuş gibi Arduino kütüphanelerini kullanmadan programlayabilirsin. Atmega328p üzerine basir birled blink programını derle. avrdude ayarları vardı arduino için oradan yükleyebilirsin. Yada:
Veya hex yüklemek için şunu kullanabilirsin:
http://russemotto.com/xloader/XLoader.zip (http://russemotto.com/xloader/XLoader.zip)
en kısa zamanda deneyeceğim .
Alıntı yapılan: t600 - 29 Mayıs 2015, 09:14:53
Yani hiç para harcamadan mikroelektronika compiler ve isis ile hemen başlayın derim
hocam mikroelektronikada herşey paralı görünüyor ? var mı başka bir yol ?
Eclipse
Alıntı yapılan: mehmet - 09 Eylül 2015, 18:51:21
Eclipse
atmel studio indirdim bakıyorum şu anda, yok mu bunun bi komut listesi, port komutları falan nasıldır. ccs c pic kullanıcısıyım atmeli merak ettim.
AvrStudio Atmel için AIO gibi bir şey. Tiny, mega, xmega, AVR32, ARM cortex m0/m3/m4/m7 tümünü destekliyor. (805x destekliyor mu?)
Merhaba, atmel programalama konusunda birkaç sorum olacak;
- Fuse ayarları yazılım içerisinde mi yoksa programlayıcı arayüzünde mi yapılıyor?
- İnternal eeprom için nasıl ayrı bir hex dosyası oluşturuluyor? İşlemciye program yüklenirken eeprom dosyasının ayrı yüklendiğini gördüm. Bunu nasıl ayrı yazıyorlar? Bir örnek verebilir misiniz?
Proteus simülasyonunda programlama yapabiliyorum fakat gerçeğe dönüşte bunları nasıl kullanacağımı bilmiyorum. Yardımcı olabilir misiniz?
Alıntı yapılan: fiducial - 17 Ocak 2016, 21:27:46
Merhaba, atmel programalama konusunda birkaç sorum olacak;
- Fuse ayarları yazılım içerisinde mi yoksa programlayıcı arayüzünde mi yapılıyor?
sigorta ayarları ile ilgili belki yardımcı olur
http://bariscincorop.blogspot.com.tr/2016/01/atmel-avr-13-sigorta-ve-osilator.html (http://bariscincorop.blogspot.com.tr/2016/01/atmel-avr-13-sigorta-ve-osilator.html)
http://bariscincorop.blogspot.com.tr/2016/01/atmel-avr-14-usbasp-avrdude-ile-sigorta.html (http://bariscincorop.blogspot.com.tr/2016/01/atmel-avr-14-usbasp-avrdude-ile-sigorta.html)
Sigorta (fuse) ayarları hiç yapmadım isede bir dosya üzerinden mümkün. Ama genelde işlemci programlanırken programlayıcı arayüzünden yapılmakta.
programın yazıldığı sayfada değişken tanımlarının yapıldığı yerde
eprom dosyası için
#include <avr/io.h>
#define F_CPU 3686400 // 3,6864MHz kristal için olacak
#include <util/delay.h>
#include <stdlib.h>
uint8_t alar[6]; //değişken
//eeprom üzerine yazılacak veri
uint8_t EEMEM eestring[] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x30,0x31,0x32,0x33,0x34,0x35,0x36};//012345
//eğer bu sabit bir sayı olacaksa flash üzerindeki sayılar
uint8_t PROGMEM sabitler[] ={,0x35,0x36,0xFF,0xF};
...
int main(void)
{
...
while(1)
{
...
}
}
EEMEM yeri derleyiciye göre değişiklik gösterebiliyor.
@bc_esd Merhaba hocam. Bunları anlatırmısınız? ADC, PWM, I2C, UART, SPI
Alıntı yapılan: veliusta - 18 Ocak 2016, 09:37:04
@bc_esd Merhaba hocam. Bunları anlatırmısınız? ADC, PWM, I2C, UART, SPI
bu konulara da sıra geliyor bir kısmı hazır sırada timer/counter ve lcd konuları var , notlarımı toplayıp düzenlemek zaman alıyor, yakında inşallah onları da yayınlayacağım.
Alıntı yapılan: Kabil ATICI - 17 Ocak 2016, 22:46:19
Sigorta (fuse) ayarları hiç yapmadım isede bir dosya üzerinden mümkün. Ama genelde işlemci programlanırken programlayıcı arayüzünden yapılmakta.
programın yazıldığı sayfada değişken tanımlarının yapıldığı yerde
eprom dosyası için
#include <avr/io.h>
#define F_CPU 3686400 // 3,6864MHz kristal için olacak
#include <util/delay.h>
#include <stdlib.h>
uint8_t alar[6]; //değişken
//eeprom üzerine yazılacak veri
uint8_t EEMEM eestring[] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x30,0x31,0x32,0x33,0x34,0x35,0x36};//012345
//eğer bu sabit bir sayı olacaksa flash üzerindeki sayılar
uint8_t PROGMEM sabitler[] ={,0x35,0x36,0xFF,0xF};
...
int main(void)
{
...
while(1)
{
...
}
}
EEMEM yeri derleyiciye göre değişiklik gösterebiliyor.
Cevaplarınız için teşekkürler.
Kabil ATICI bir şey daha sormak istiyorum. EEprom datasını ayrı hex olarak nasıl alıyoruz? Yani program hex dosyası ayrı, eeprom datasını ayrı yüklüyorlar. Bu eeprom dosyası nasıl oluşuyor? Gösterdiğin kodu kullanınca kendi oluşturur mu? Pic programlamada böyle birşey hiç kullanmadım. Karışık geliyor bana.
yardımcı olabilirseniz sevinirim.
kodu derlediğiniz zaman arduino olsun, atmel avr studio olsun yukarıdaki kodu derlediğiniz zaman,
uint8_t EEMEM eestring[] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x30,0x31,0x32,0x33,0x34,0x35,0x36};//012345
satırını kullanarak, .eep uzantılı bir eeprom dosyası oluşturuyor. Kodun geri kalanı flash dosyası olarak hex formatında derleniyor. Bu noktadan sonra programlayıcıyı kullanarak eeprom dosyasını işlemciye yüklemek kalıyor.
Her yiğidin bir yoğurt yiyişi vardır.
Merhaba arkadaşlar
Atmel programlamaya geçmek üzere iken
konunun açılmış olması bir şans sanırım
arkadaşlar yazılmış programı işlemciye
atmek için hangi cihazı kullanıyorsunuz
bana genel olarak bilgi verirseniz sevinirim
atmel studıo yu kullanmayı düşünüyorum
başlangıc için tavsiye ettiğiniz işlemci
modeli varmı _?
elimde atmega328 var
En yaygını "usbasp". Ancak Arduino 'dan bile
programlayıcı yapmak mümkün.
Evet inceledim kolay yapılabilinir..
PIC le uğraşıyorum.. uzun süredir
Fakat elime profosyonel bir cihaz
geliyor. Yada değişik bir uygulama
açıyorum bakıyorum içinde atmega var.
Bi yerden sonra artık tamam diyorsun..
Demekki başlamak gerekiyor
Biraz uğraştırıcı görünüyor
Atmega 32 tavisye ederim. Youtubede Newbiehack nicki ile eğitim videosu hazırlayan ve gerçekten detaylı anlaşılır giriş seviyesi hazırlayan kanal var orda atmega32 üzerinden anlatmış. Linkteki videolarla birlikte güzel ve anlaşılır bir başlangıç olacaktır. Link:
https://www.youtube.com/watch?v=JMMamSVy1Zs&list=PLE72E4CFE73BD1DE1 (https://www.youtube.com/watch?v=JMMamSVy1Zs&list=PLE72E4CFE73BD1DE1)
Dil ingilizce ancak çok temel düzeyde. Mcu bilgin olduğundan hiç zorlanacağını sanmıyorum. Ayrıca atmega8 atmega16 atmega32 çok yaygın kullanılar örneklerine çok kolay ulaşabileceğin atmega işlemciler. Alıştıktan sonra kendi ihtiyacına göre istediğin işlemciyi seçersin.
Alıntı yapılan: EFESU - 19 Ocak 2016, 09:35:28
Merhaba arkadaşlar
Atmel programlamaya geçmek üzere iken
konunun açılmış olması bir şans sanırım
arkadaşlar yazılmış programı işlemciye
atmek için hangi cihazı kullanıyorsunuz
bana genel olarak bilgi verirseniz sevinirim
atmel studıo yu kullanmayı düşünüyorum
başlangıc için tavsiye ettiğiniz işlemci
modeli varmı _?
elimde atmega328 var
http://bariscincorop.blogspot.com.tr/ (http://bariscincorop.blogspot.com.tr/) burada Atmel programlamayı atmel studio, atmega 328p ve usbasp ile anlatıyorum . size faydalı olacağını düşünüyorum
Merhaba arkadaşlar, _delay_us() ve _delay_ms() fonksiyonları gerçek ms ve us olarak mı gecikme üretiyor? Proteusta denemelerimde 1us ve 1ms gecikmeleri farklı sonuçlar çıkarıyor. Acaba simulasyonla alakalı mı yoksa gerçekte de farklı gecikme mi üretiyor?