Atmega328 işlemcisi ile UART üzerinden haberleşmem lazım ama çok ilginc sorunum var.
Öncelikle ben atmega işlemcileri kodlamayı bilmiyorum. Elimde atmega328 var. Ama az da olsa Arduino programalamayı biliyorum. Zaten arduinoda atmega işlemciler kullanılıyor. Bende ordan denemek için basit bi kod çalıştırıyorum ama nedense hep sonuclar hatalı oluyor.
Derleyici Arduino 1.0 Derleyiciden Secilen Board Arduino Pro Mini 3.3V 8Mhz Atmega328 / 5V 8Mhz Atmega328 ( Malum iki volt degeri ilede calisabiliyor islemci) Harici 8Mhz kristal takili NOT: Arduinoda ilk setup sonrada loop fonksiyonları calisir
const int ledPin = 9; // Pin numarasi (PB1 denk geliyor) int incomingByte; // okunacak degisken
void loop() { if (Serial.available() > 0) // klavyeden herhangibir karaktere basilirsa { incomingByte = Serial.read(); // basilan karakteri oku if (incomingByte == 'H') // gere baslican karater ASCII olarak H ise digitalWrite(ledPin, HIGH); // 9 nolu pini yak if (incomingByte == 'L') // gere baslican karater ASCII olarak L ise digitalWrite(ledPin, LOW); // 9 nolu pini sondur } } }
Terminal prgrami ile portu inceledigimde hep ?? ?? ?? ?? ?? ?? ?? ?? (arkada arkaya bir suru soru isareti) sekilden veri geliyor. Tabi benimde aklima ilk olarak baud rate sorunu var gibi geliyor ama yok, hepsini deniyor sonuc hep aynı.
Krista oalrak 8, 10, 20 olmak uzere uc farkli deneme yaptim. Volt oalrak hem 5V ile hemde 3.3V ile deneme yaptim. Ama sonuc hep aynı.
Bu konuda tecrubesi olan, yada daha once karsilasipta cozen varmi, yardimlariniz bekliyorum
Bu tarz sorun yaşayan olmadı sanırım
atmega328 ile breadboard üzerinde arduino kurdun sanırım. Atmegada arduino bootloader'ı yüklüdür tahminimce. Ben aynı durumda olsam devremi olabildiğince orijinal arduino benzeri kurmaya çalışırdım (5v, 16mhz crystal). Bire bir linkteki devreyi kurmayı dene, büyük ihtimalle sorun çözülecektir, daha sonra devreyi yavaş yavaş kendine uygun hale getirebilirsin. http://arduino.cc/en/Tutorial/ArduinoToBreadboard Ayrıca arduinonun serial terminalindeki baud rate de 9600 seçili mi kontrol edebilirsin.
Bu arada, cevap gelememesi çok normal, gerçekten merak ediyorum amatör olarak pic yerine avr kullanan, arduino ile uğraşan kaç kişi var acaba? Bu kadar kolay, bu kadar hızlı ve yetenekli bir platform varken insanlar niye hâlâ pic ile boğuşur? (ben de 4 sene picle boğuşmuş biriyim.)
Bir soru da ben sorayım, atmega328'i Türkiye'de nerden alabiliriz bilginiz var mı?
Merhaba,
ben gecen hafta aldim robotistandan ;)
öncelikle bende arduino karti yok. Soyleki elimde atmega328 var. Daha dogrusu bunu bir devrede kullancam. Seri iletisimli bir devrede. Önce deneme yapmak istedim. Normal atmega328i bread borda kurdum, iste kristal, direnc filan bildiginiz gibi. ( 3.3V ile) Daha sonra arduino 1.0 Ide programi ile kodu derledim ve Usbasp uzeerinden atmegaya gonderdim(arduino1.0 uasap programını goruyo) NOT: yani sadece arduino nun derleyicisni kullandim. baska bir espiris yok suan icin bende Programdan 8Mhz lik arduino proyu sectim ki kendisi 3.3V ile calisiyor. Yani kongidurasyon ayarlarım aynı oldu.
Sonrasında FT232 ile pcye verileri basiyorum ama sonuc hep yanlis, enterasan analadmim gitti
Usb 5v, atmega 3.3v ile çalışıyor, ft232 her ne kadar 3.3v 5v çevrimini kendisi otomatik olarak yapsa da kendi beslemesi için 5v ister. FT232'nin güç girişlerini atmega'dan aldıysanız ft232 sapıtıyor olabilir, direk usbden gelen 5v+gnd ile deneyin.
quote:
Orijinalden alıntı: cagrisma
Merhaba arkadaşlar,
Atmega328 işlemcisi ile UART üzerinden haberleşmem lazım ama çok ilginc sorunum var.
Öncelikle ben atmega işlemcileri kodlamayı bilmiyorum. Elimde atmega328 var. Ama az da olsa Arduino programalamayı biliyorum. Zaten arduinoda atmega işlemciler kullanılıyor. Bende ordan denemek için basit bi kod çalıştırıyorum ama nedense hep sonuclar hatalı oluyor.
Derleyici Arduino 1.0 Derleyiciden Secilen Board Arduino Pro Mini 3.3V 8Mhz Atmega328 / 5V 8Mhz Atmega328 ( Malum iki volt degeri ilede calisabiliyor islemci) Harici 8Mhz kristal takili NOT: Arduinoda ilk setup sonrada loop fonksiyonları calisir
const int ledPin = 9; // Pin numarasi (PB1 denk geliyor) int incomingByte; // okunacak degisken
void loop() { if (Serial.available() > 0) // klavyeden herhangibir karaktere basilirsa { incomingByte = Serial.read(); // basilan karakteri oku if (incomingByte == 'H') // gere baslican karater ASCII olarak H ise digitalWrite(ledPin, HIGH); // 9 nolu pini yak if (incomingByte == 'L') // gere baslican karater ASCII olarak L ise digitalWrite(ledPin, LOW); // 9 nolu pini sondur } } }
Terminal prgrami ile portu inceledigimde hep ?? ?? ?? ?? ?? ?? ?? ?? (arkada arkaya bir suru soru isareti) sekilden veri geliyor. Tabi benimde aklima ilk olarak baud rate sorunu var gibi geliyor ama yok, hepsini deniyor sonuc hep aynı.
Krista oalrak 8, 10, 20 olmak uzere uc farkli deneme yaptim. Volt oalrak hem 5V ile hemde 3.3V ile deneme yaptim. Ama sonuc hep aynı.
Bu konuda tecrubesi olan, yada daha once karsilasipta cozen varmi, yardimlariniz bekliyorum
Selam,
Benzer bir problemle bende karşılaşmıştım ve çözmek yaklaşık 2 haftamı aldı ama sorunu buldum. Arduino IDE version'un kaçtır? Arduino 1.0'da bunun gibi sorunlar olabiliyor seri portla ilgili sana tavsiyem kodunu Arduino 0022'de upload edip denemen. Ben bu şekilde denemedim ve çalıştı.
Merhaba,
bende çözdüm sorunu, sıkıntı derleyiciden değilmiş. Programalam devresinde bazı eksikler varmiş, kodansator, kristal gibi onları ekleyince programlamdi. hemen bootloader yukledim. simdi sıkıntısız calisiyor
yeni mesaja git
Yeni mesajları sizin için sürekli kontrol ediyoruz, bir mesaj yazılırsa otomatik yükleyeceğiz.Bir Daha Gösterme