Codevision AVR ile Atmega32 için yazılmış I2c portunda aldığı bilgileri Lcd ekranda gösteren programı çip ismi değiştirilerek Atmega8 için derlendiğide sadece açılış ekranı çalıştı I2c portundan aldığı bilgileri göstermesi çalışmadı.
Sorun ne olabilir?Çipler içindeki I2c modülleri ve komutları farklımıdır?
Code vision avr için chip ismi değiştirerek değilde, yeni chip için proje oluşturup kodun uygun yerlerini kopyala yapıştır yaparak deneyebilirsiniz. Belki register isimlerinde farklılıklar olabilir o yüzden dikkatli olmak gerekir. Kolay gelsin.
Her iki işlemci ciddi şekilde farklılık gösteriyor. Atmega8 atmega32'ye göre oldukça kırpılmış bir donanıma sahip.
i2c komut ve kullanımı aynı olması gerekiyor. Gördüğüm kadarıyla da aynı. bağladığın i2c donanımıyla ilgili bir şey olabilir.
örneğin
sda scl
atmega8 pc4 pc5
atmega32 pc1 pc0
bu bacak değişikliği?
veya bağladığın i2c ürünü ile ilgili bir bir sorun olabilir.
kolay gelsin.
Yeni bir Atmega8L Projesi oluşturup ilgili kısımları kopyala yapıştır yapıp denedim...Atmega8L için olan portC4 portC5 pinlerne göre uyarladım sonuç aynı.
Programlayıcıdan Internal osilator 8mhz aktif yani işaretli olarak " CKSEL0,CKSEL1, CKSEL3, SUT0, BOOTZ0 ,BOOTZ1," ayarladım doğrumudur?
Ben atmel avrstudio kullanıyorum, sigorta ayaları farklı şekilde gösteriliyor. (sigorta gruplarını isim ve seçenek vererek görüntüleniyor.) O yüzden bu konuda yardımcı olamayabilirim.
Ama programı incelemek gerekebilir. Programda işlemcini ram bölümü kullanılıyorsa,atmega8'in ram adresi dışında kalırsa sorun olabilir.