delay komutunu kullandığımz zaman maplab x'de uyarı gösteriyor. Program derleniyor ama bu uyarıyı niye veriyor?
Nasıl bir uyarı veriyor?
Sorunuzun cevabı uyarı içinde olsa gerek.
Mplabx diye bir dil veya derleyici yok. MPLABX sadece bir IDE'dir, o hatayı veren ide değil, derleyicidir. Konuyu xc8 altında açtığınıza göre xc8 derleyicisini kullanıyor farzedeceğim.
Aşağıdaki gibi bir tanımlama yaptınız mı?
#define _XTAL_FREQ 4000000
Ya da siz en iyisi yazdığınız kodu verin.
ekran görüntüsü şu şekilde
(http://s27.postimg.cc/4gnoa1n9b/Ads_z.jpg) (http://postimg.cc/image/4gnoa1n9b/)
meftun bahsettiğin kod programda ekli.
Maalesef MPLAB X hala tam oturmadı, böyle saçma hatalar verebiliyor. Belki ayarlar menüsünü alt üst ederek düzeltmenin bir yolu vardır ama bence uğraşmaya değmez. O hatayı gözardı edebilirsin. Ben ayarlardan bu altını çizme özelliğini tamamen kapatıyorum.
Peki bu satırı eklediniz mi?
#include <xc.h>
Altı çizili satırın sol tarafında bir simge olup üzerine gelince uyarının ne olduğunu yazması lazım.
Sizden kodları isteme sebebim gerekli tanımlamaları yapıp yapmadığınızı anlamaktı. Programın delay ile alakası olmayan kısımları hariç yazarsanız bir de biz deneriz. Çünkü bende öyle bir uyarı yok.
meftun bahsettiğiniz satırda ekli.
komutun sol tarafında beliren işareti yukarıdaki iletide gönderdim. tekrar yazayım
(http://s27.postimg.cc/ri49fsmwz/Ads_z.png)
Olayın program ile ilgisi yok. hangi programa yazarsan uyarı veriyor. mesela şu programa ekleyince de uyarı veriyor;
https://www.picproje.org/index.php/topic,50397.0.html (https://www.picproje.org/index.php/topic,50397.0.html)
Bende uyarı vermiyor, tekrar yüklemeyi denediniz mi?
Yeni mi uyarı vermeye başladı, daha önce veriyor muydu?
Neyse şöyle geçici bir çözüm var
#define __delay_us(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000000.0)))
kaynak: http://www.microchip.com/forums/m630159.aspx (http://www.microchip.com/forums/m630159.aspx)
Bu sayfanın en altında başka bir çözüm daha var olmadı onu denersiniz.
Ancak son sürüm mü kullanıyorsunuz merak ettim. Ben hiç böyle bir sorun yaşamadım.
Bende aynı programda bile bazen altını çizdiği bazen çizmediği oluyordu. Hatta MPLAB X'in ilk versiyonlarında bazen derleme tuşuna basınca program derlenmediği halde ikinci basışta derlendiğini de gördüm.
meftun'un verdiği bağlantıda sorunun ne olduğu konusunda mantıklı yorumlar yapılmış. Yukarıdaki yazımda "ayarlar menüsünün altını üstüne getirmek" derken anlatmaya çalıştığım şey, belki IDE'ye (derleyiciye değil) ilgili header dosyasını göstererek "aha bak bunun içinde yer alan şeyler de kullanılabilir" demenin bir yolu olabileceğini düşünmem idi. Daha önce böyle bir durumla karşılaşmış ve çözüm bulmuştum ama ayrıntıları hatırlamıyorum, hatta galiba MPLAB X ile ilgili değil, Netbeans ve başka bir kütüphane ile ilgili bir deneyimdi (MPLAB X aslında Netbeans tabanlı).
Ben her seferinde kodun başına çirkin görünümlü tanımlamalar eklemektense, altını çizme özelliğini tamamen kapatmayı seçtim. Bir hata olunca derleyici zaten derleme çıktısında hatalı satırı söylüyor. Ayrıca, MPLAB X'in eski versiyonlarında bu sahte hatalar daha yaygındı. Register isimlerinin falan da altını çiziyordu. Altını çizmeyi kapatmak kökten çözüm oldu.
meftun verdiğin kod sadec us içinmiş ms için değiştirdim sorun kalmadı.
meftun ve tagli teşekkürler.
Bu arada 30/10/2013 tarihinde 1.95 versiyonu çıkmış.
indirmek için: www.microchip.com/mplabx-ide-windows-installer (http://www.microchip.com/mplabx-ide-windows-installer)