atmega8 düşük pinout sorunu.

Başlatan klutch, 12 Temmuz 2010, 16:42:37

klutch

selam,

derleyici olarak mikroc kullanıyorum, atmega8 in portc deki bir bitini yaktırıyorum fakat pin çıkısı 1.643 V oluyor.

başka derleryici ile aynı uygulamayı yaptığımda olması gerektiği gibi vcc seviyesinde çıkış alıyorum.

mikroC deki problem nedir anlayamadım...

saygılar.

parda

Merhaba;

Böyle bir durumun 3 ana sebebi olabilir

1. Devrenizde problem olabilir.
2. AVR de problem olabilir.
3. Yazılımdan olabilir.

en önemlisi derleyiciden OLAMAZ.

Çözüme gelirsek;
derleyiciyi değiştirdiğinizde AVR ve devre sabit kalıyorsa ki emin olamamakla birlikte öyle olduğunu düşünüyor ve umuyorum.
1 ve 2 madde elenmiş oluyor.
Geriye kalan 3. madde için ise yazdığınız kodu görmeden söylenebilecek tek söz kalıyor doğru pin i çıkış yaptığınızdan ve durumunu değiştirdiğinizden emin olun.

Kolay gelsin.
Bildiğim tek şey, hiç bir şey bilmediğimdir.

Erol YILMAZ

benim aklıma gelen şey şudur.
Bir şekildeo pin karedalga üretiyor.
Duty cycle i neticesinde de 1.63v ortalama gerilimini okuyorsunuz.
WDT varsa kapatın :)

klutch

atmel de yeniyim, az önce avr stduio ya yazdım aynı kodu onda da 1.6V aldım ama codevisionAvr de sorun yok. winavr ve avr studio da makefile dosyaları yüzünden pek ısınamadım sürekli çözemediğim hatalar çıkıyor.

ben mikroC yi doyurucu help dosyası ve debugger ı olduğu için seçtim ama bilmiyorum...

devrede bi sorun yok çünkü sadece atmega8 var kristal yok int rc ayarladım. sorun olsa neden codevisionavr kodunda olmuyor. ilginç ya.

yazdığım kod bu,

c

void main() {
     DDRC = 0x00;
     PORTC = 0x01;
}

asm

main:
        LDI        27, 255
        OUT        93, 27
        LDI        27, 0
        OUT        94, 27
;bit_test_1.c,1 ::                 void main() {
;bit_test_1.c,2 ::                 DDRC = 0x00;
        LDI        27, 0
        OUT        52, 27
;bit_test_1.c,3 ::                 PORTC = 0x01;
        LDI        27, 1
        OUT        53, 27
;bit_test_1.c,4 ::                 }
L_endmain:
        JMP        L_endmain
; end of _main

hex

:1000000015C0FECFFDCFFCCFFBCFFACFF9CFF8CF95
:10001000F7CFF6CFF5CFF4CFF3CFF2CFF1CFF0CFCC
:06002000EFCFEECFEDCFA3
:10002C00BFE5BDBFB4E0BEBFB0E0B4BBB1E0B5BB93
:02003C00FFCFF4
:00000001FF


ponyprog sigorta ayarları


klutch

mikroC help dosyasından 1 çıkış yap anlamındaymış. codevision da da aynı şekil.

ben atmeli pic ile aynı mantıktır diye düşündüğüm için yanılmışım. neyse sorun çözüldü devam... sağolun.

DDRC  = 0xFF;                     // Configure PORTC as output