AVR Programlamaya Giriş

Başlatan veliusta, 01 Aralık 2015, 15:18:55

veliusta

Merhaba.
Atmega8 ve Atmega328P mikrodenetleyicilerini programlamak istiyorum.




Resimdeki Programlayıcı aldım.
USBasp driverini kurdum.

Hangi derleyiciyi kullanacağım? Eclipse mi? Atmel Studio mu? avrdude winavr bunlar nedir?

mesaj birleştirme:: 02 Aralık 2015, 05:25:40

Şu uygulamayı yapabilirmisiniz? Bunu nasıl yapılacağını gösterin yeterli.
Tüm pinler sırasıyla 500ms araliklarla toggle yapılacak. Dahili Kristal kullanılacak. Reset pini kullanılmayacak. Hex dosyası çalınmayacak.

crazy

Aynı programlayıcı  bende de var.Hangi derleyiciyi kullanıyorsan hex dosyasını  oluştur. AVR8_Burn-O-Mat_2_1_2  programı ile  hex dosyanı seç sigorta ayarlarını yap ve yükle. Atmel studio bu programlayıcıyı tanımıyor.




veliusta

@crazy Teşekkürler hocam.
Şimdi ben yeni başlayacağım hangi derleyici kullanmamı önerirsiniz.

Şimdi denemek amaçlı Arduino ile derlenmiş hex dosyasını AVR8_Burn-O-Mat_2_1_2 ile yükleyebilirim değil mi? Aynı zamanda Arduino bootloader'ide yüklenmiş olacak.
Böyle yaparsam 16MHz Kristal ve dirençleride ekleyeceğim.

crazy

Alıntı yapılan: veliusta - 01 Aralık 2015, 16:10:58
@crazy Teşekkürler hocam.
Şimdi ben yeni başlayacağım hangi derleyici kullanmamı önerirsiniz.

Şimdi denemek amaçlı Arduino ile derlenmiş hex dosyasını AVR8_Burn-O-Mat_2_1_2 ile yükleyebilirim değil mi? Aynı zamanda Arduino bootloader'ide yüklenmiş olacak.
Böyle yaparsam 16MHz Kristal ve dirençleride ekleyeceğim.
Hangi derleyici iyi biliyorsan  onu kullan hocam arduino uno karta atmel studio hex yükledim sonra bootloader  yükledim tekrar arduino ide ile kullandım.Fuse  ayarları için direk hexe çeviren site http://www.engbedded.com/fusecalc/

berkay_91

aynı ISP kablosundan bendede var, hex kodlarını göndermek için Khazama AVR Programmer.exe kullanıyorum, tavsiye ederim derleyici olarakta Atmel studio...

RaMu

Atmel bilmiyorum, gerçekten elime alıp kullanmışlığımda yoktur,
ama Atmel Studio yu kurup denemiştim,
neden Atmel Studio yu seçmiştim;
çünkü mcu yu üreten firmanın kendi ürettiği IDE ~ derleyicisi,
Microchip (PIC) için MPLABx (veya MPLAB) neyse atmel için de Atmel Studio o.

Bilmeyen biri olarak tavsiyede bulunduğumu tekrar belirteyim,
kullananlar daha iyi bilirler.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Kabil ATICI

Atmel AVR Studio yakın zamana ( 2-3 sürüm öncesine) kadar kendi arayüzünün kullanıyordu.  Şu an için Microsoft Visual Studio'nun arayüzünü kullanmaktadır. ( Yalıtılmış olarak- microsoft ürünlerine entegre değil).

Kullanım açısından Atmel tüm ürün yelpazesine destek verebilmekte.

Programlayıcı olarak tek sıkıntısı Atmel'in kendi programlayıcılarına desteklemesidir.
ambar7

veliusta


crazy

Atmel studio iyi tercih hocam linkteki USBasp  ile senin kullandığın arasında bir fark yok .Bu programlayıcıyı atmel studio ile  kullanmak için google da usbasp avr atmel studio programming diye bir arama yap videolar felan var  bi ara uğraşmıştım winavr felan kurup avr dude üzerinden atmel studio ile hex yüklüyorsun
http://shannonstrutz.com/tutorials/setting-up-usbasp-for-use-with-atmel-studio-6

EFESU

yükleyicinin ayrı yazılımı  yok mu _?

zipzip

Alıntı yapılan: veliusta - 01 Aralık 2015, 20:14:02
Atmel Studio v7.0.634 indirdim.
Bununla http://www.ebay.com/itm/New-USBASP-USBISP-AVR-Programmer-USB-ATMEGA8-ATMEGA128-/170813851774?hash=item27c54c887e:g:bl0AAOSwKIpWAgOh
Bunun http://www.ebay.com/itm/Micro-5v-USB-Tiny-AVR-ISP-ATtiny44-USBTinyISP-Programmer-For-Arduino-Bootloader-/281684945003?hash=item4195bb286b:g:c5sAAOSwEK9T7r-Q
arasındaki fark nedir?

USBISP programlayıcı için Progisp yazılımını kullanman gerekiyor, avrdude'yi kullanamazsın. Avrdude için grafik arayüzü olarak avrdudess i tavsiye ederim. İlk linkteki programlayıcı USBISP, USBASP ye çevirmek için firmware'i değiştirmen gerekiyor.

veliusta

#define F_CPU 16000000UL

#include <avr/io.h>
#include <util/delay.h>

int main(void){
	DDRD = 0xFF;
        DDRB = 0xFF;
	PORTD = 0x00;
	PORTB = 0x00;

    while(1){
			PORTB ^= 0xFF;
			PORTD ^= 0xFF;
		    _delay_ms(1000);
			PORTB ^= 0xFF;
			PORTD ^= 0xFF;
		    _delay_ms(1000);
    }
}


İlk toggle uygulamam. Doğru yapmışmıyım ??
ISIS'te denedim 1 saniyeyi 10 saniye olarak işliyor. CKSEL Fusesten ayarları değiştirdiğimde hata veriyor isis. Kristal bağladım olmadı. Zamanı tutturamadım.

berkay_91

#12
ben denedim sorun çıkmıyor, CLKDIV8(Divide clock by8) satırını unprogrammed yapın, CKSEL Fuses satırı (0111) ext. Full Swing crystal olucak ve son olarak Advanced properties de (Default) yerine 16MHZ yazın birde bağladığınız kristalin değerini 16 Mhz olarak değiştirmeyi unutmayın...

Kabil ATICI

 
#define F_CPU 16000000   //  16MH kristal için olacak

#include <avr/io.h>
#include <util/delay.h>

int main(void)
	DDRD = 0xFF;
        DDRB = 0xFF;
while(1){
        PORTD = 0xFF;
	PORTB = 0xFF;
_delay_ms(1000);
        PORTD = 0x00;
	PORTB = 0x00;
_delay_ms(1000);
}


işlemci ile çalışınca sorun olmuyor...

CLKDIV8(Divide clock by8) sigortası her Atmel işlemcide bulunmaz..

İsis çoğu durumda gerçek zamanlı simülasyon yapmaz!..
ambar7

engerex