Picproje Elektronik Sitesi

DERLEYİCİLER => Microchip XC Serisi => Microchip XC8 => Konuyu başlatan: Saruman - 04 Mayıs 2014, 00:49:03

Başlık: PIC16F OPTION_REG ve RBPU bitin XC8'de tanınmaması ?
Gönderen: Saruman - 04 Mayıs 2014, 00:49:03
Selamlar,

XC8'de kod yazarken ilginç bir problemle karşılaşıyorum.

RBPU bitini tanımıyor.  Bilgiler aşağıdaki gibi :

Datasheet:

(http://imageshack.com/a/img841/876/9zig.png)

pic16f887_legacy.h dosyası :

(http://imageshack.com/a/img834/7939/c07b.png)

Sonra aşağıdaki dosyayı buldum  pic16f883.inc :

(http://imageshack.com/a/img845/9712/cbgy.png)

nRBPU=0; şeklinde kullanınca hata vermiyor. Diğer hiç bir registerlarda problem çıkmazken bu RBPU bu şekliyle yazılamıyor.

Legacy dosyasına göre RBPU veya RABPU yazımı legal olmalıydı ama bu bitlerin tanınmadığına dair hata alıyorum.








Başlık: Ynt: PIC16F OPTION_REG ve RBPU bitin XC8'de tanınmaması ?
Gönderen: subram - 04 Mayıs 2014, 01:30:26
çok ilginç bir sorun bir deneme yapayım bakalm.
Başlık: Ynt: PIC16F OPTION_REG ve RBPU bitin XC8'de tanınmaması ?
Gönderen: mehmet - 04 Mayıs 2014, 03:59:20
OPTION_REGbits.nRBPU = 0;
Başlık: Ynt: PIC16F OPTION_REG ve RBPU bitin XC8'de tanınmaması ?
Gönderen: subram - 04 Mayıs 2014, 04:04:26
dediğin gibi RBPU olarak değilde nRBPU olarak tanıyor. MPLAB X'de kod tamamlama kısmında direk olarak nRBPU çıktı. Elle "düzeltince" uyarı veriyor.
Başlık: Ynt: PIC16F OPTION_REG ve RBPU bitin XC8'de tanınmaması ?
Gönderen: kantirici - 04 Mayıs 2014, 09:01:03
Bu şekilde bir ön ek ile tanımlanmış bir kaç register ismine daha denk geldim. Neden böyle tanımlamışlar bimiyorum ama 'n' ön eki herhalde bir şeyi referans ediyor olsa gerek.
Başlık: Ynt: PIC16F OPTION_REG ve RBPU bitin XC8'de tanınmaması ?
Gönderen: Tagli - 04 Mayıs 2014, 09:09:20
n ön eki "not" anlamına geliyor, yani o özelliğin etkinleştirilmesi için bitin 0 olması gerektiğini vurguluyor. Örneğin, pullup'ları etkinleştirmek istiyorsak nRBPU = 0 diyoruz. Dikkat edilirse, datasheet'te de RBPU üstü çizili olarak gösterilmiş.
Başlık: Ynt: PIC16F OPTION_REG ve RBPU bitin XC8'de tanınmaması ?
Gönderen: Saruman - 04 Mayıs 2014, 11:48:25
Alıntı yapılan: Tagli - 04 Mayıs 2014, 09:09:20
n ön eki "not" anlamına geliyor, yani o özelliğin etkinleştirilmesi için bitin 0 olması gerektiğini vurguluyor. Örneğin, pullup'ları etkinleştirmek istiyorsak nRBPU = 0 diyoruz. Dikkat edilirse, datasheet'te de RBPU üstü çizili olarak gösterilmiş.

Evet aslında dikkatli bakınca diğer tüm zero active bitler de n ön ekiyle tanımlanmışlar.

Tagli hocam dikkat açıcı etkileriniz var bunu kullanmalısınız  ;)