Bu kodu da çalıştıramadım. Yolun başından dönsem mi? :)

ibora

Usta Üye
Katılım
14 Eyl 2008
Mesajlar
1,203
Puanları
156
Yaş
56
Arkadaşlar selam,
Pic12F675 ile birşeyler yapmaya çalışıyorum ve Pic programlamaya yeni merak saldım. Mikro_C ile çok basit bir kod yazdım. Kod derlemede ve Pic'e yüklemede hiç sorun yaşamıyorum ama kod çalışmıyor. Isis'te de denedim, gerçek devrede de. Sonuç aynı. Ben neyi yanlış yapıyorum? Aşağıdaki kodun sürekli GPIO.GP0'ı aktif etmesi gerekmiyor mu? Cevaplarınız için teşekkürler...
----------------------------------------------------------
void main() {
ANSEL = 0x00; // analog girişler kapatıldı.
TRISIO= 00000100 ; //GP4 inp, digerleri out.
CMCON = 0x07; //Comparatorler kapatıldı.
for(;; )GPIO = 0x01;
}
---------------------------------------------------------
 
C 'yi pek bilmiyorum PORT atamaları ve program tanımlamalarını Ana Döngünün İçine Yazmamalısın ( void main ).programın başında 1 defa yazılır.Özel Durumlar haricinde..Birde GPIO.0 'LOW a çekmediğin için for döngüsünde sürekli HIGH 'e çekmene gerek yok

yok doğru diyorsan
for(;; )GPIO.0 = 0 ; yaz birdeöyle dene
 
Son düzenleme:
Yok hocam sorunu buldum: Config registerde osc external seçilmiş(default olarak). Benim uygulamam int osc ile çalışıyor. Problemi düzeltince çalıştı. Ben bu kodu en temel düzeyde pic'in çalıştığını test etmek için yazmıştım.
 
Sn. ibora,

Biliyorsunuzdur ama ben yine de yazayım dedim. Osilatör tipine de dikkat etmek lazım. 10 MHz'lik bir osilatör kullanıp da XT tipini kullanırsanız mikroişlemcinin enteresan şeyler yaptığına tanık olabilirsiniz. :)

Ben ilk zamanlarda dikkat edilmesi gerektiğini bilmiyordum. Bir seferinde XT tipinde 10 MHz'lik bir osilatör kullanmıştım. Devreye LED'ler bağlıydı. Mantığını hala anlayabilmiş değilim ama osilatöre elimi yaklaştırdıkça LED'lerden bazıları yanıp sönüyordu bazıları ise direk sönüyordu. Osilatör tipini seçmem gerektiğini öğrenince düzeltmiştim ve bir daha öyle bir şeyle karşılaşmadım.

Saygılarımla,
 
Verdiğiniz bilgiler için çok teşekkür ederim. 40 yaşından sonra Pic öğrenmeye kalkınca böyle oluyor. :) (üstelik C'yi de yeni öğreniyorum). Pic'in yaptığı garip davranışları anlamak 2 günüme mal oldu ama sonunda zor yoldan neler yapmam gerektiğini öğrenmiş oldum. Başkalarının da faydalanması için öğrendiklerimi özetleyeyim: MikroC ile yazılım yapıyorum. Önce yazdığım kodlar hiç çalışmıyordu. Sorunun 12F675 için oluşturduğum proje settinglerinde configuration'ı default değerlerde bıraktığım için OSC external durumda idi. Benim uygulamam ise int. osc gerektiriyordu. Bu seçeneği "INT. GP2 general input/output" olarak seçtim. Kodlarım çalışmaya başladı ama bir süre sonra donuyordu. Yine configuration sayfasından Masterclr, Pon reset, brownout detection gibi seçenekleri de kapattıktan sonra herşey yoluna girdi.
Gerisi çorap söküğü gibi geldi. Dün timer kesmeleriyle PWM bile ürettim (tamamen özgün bir çalışma olup patenti bana aittir :)).
Tekrar teşekkür ederim. İleride değerli bilgilerinizden faydalanacağımı umarım...
 
picin beslemesini sağlam yapın MCLR ucunu boşta bırakmayın osilatörü 22pf ile toprapa gönderin deneylerde sıkıntı çıkmaz ama gelen DC gerilim temiz olması gerekiyor 5V :)
 

Forum istatistikleri

Konular
129,864
Mesajlar
930,851
Kullanıcılar
452,726
Son üye
ugur Göktürk

Yeni konular

Çevrimiçi üyeler

Geri
Üst