Arkadaşlar merhabalar Mplab xc8 de c tabanlı kod yazıyorum debug kısmında bir hatam var kısaca şunu öğrenmek istiyorum ;
Portd ye bağladığım displayde sıfır rakamını oluşturmak için gerekli binary değeri belirledim fakat nunu atarken farklı kullanımlar gördüm ve sorun bundan mıdır diye sormak istedim.
PORTD='0b00111111';
bu şekilde port d ye uygun atama yapılmış oluyor mu? yoksa char cinsinden olduğu için sorun mu olur?
şimdiden teşekkür ederim :)
Derleyici kabul ediyorsa sorun yok ,ama başka derleyicilerde derleme hatası verir. Kod taşınır olmaz yani. Standard c/c++ de değişkene bit olarak gösterilen değer ataması mümkün değil.
PORTD='0b00111111';
evet bu şekilde yapınca hata vermiyor
ama daha önce ccs c kulandığım için burada emin olamadım tüm porta değer bu şekilde atanabilyormu emin olamadım
CCS'de tek tırnak veya çift tırnak işareti olmuyor. XC8 bilmiyorum. Ancak C tabanlı dillerin hepsinde bu kısım ortak olması lazım. Yani tek veya çift tırnak olmadan yazılması gerekir diye düşünüyorum. Bu duruma derleyici hata vermeyecektir. Tek tırnak içerisindeki ifade "Char" karşılığı bir sayıya denk geleceği için o şekilde portlar ayarlanacaktır. Bence anlamanın en kolay yolu çalıştırmak. ::ok
Alıntı yapılan: PhD - 29 Mayıs 2020, 21:54:39CCS'de tek tırnak veya çift tırnak işareti olmuyor. XC8 bilmiyorum. Ancak C tabanlı dillerin hepsinde bu kısım ortak olması lazım. Yani tek veya çift tırnak olmadan yazılması gerekir diye düşünüyorum. Bu duruma derleyici hata vermeyecektir. Tek tırnak içerisindeki ifade "Char" karşılığı bir sayıya denk geleceği için o şekilde portlar ayarlanacaktır. Bence anlamanın en kolay yolu çalıştırmak. ::ok
hata vermiyor aslında ama port komutuna char atama yapılabiliyor mu onu merak ettim aslında
Alıntı yapılan: samedkutuk - 29 Mayıs 2020, 22:07:23hata vermiyor aslında ama port komutuna char atama yapılabiliyor mu onu merak ettim aslında
Bence Char olarak düşünmeyin.. Sonuçta Char dediğimiz de bir 2 bitlik sayıdan oluşuyor.. Port registerına onu atamış oluyorsunuz..
PORTD=0b00111111;
Tırnak işareti olmayacak,
b yi büyük veya küçük yazabilirsin.
Derleyicinin dökümanında mevcut:
https://www.google.com/url?sa=t&source=web&rct=j&url=https://www.mikrocontroller.net/attachment/211305/MPLAB_XC8_C_Compiler_User_s_Guide_2_2.pdf&ved=2ahUKEwi65IyWmdrpAhXu_CoKHUUgC9MQFjABegQIBRAB&usg=AOvVaw2Ys2-nEnW8032SEcTAkDIK
evet çok teşekkür ederim tırnak olmaması gerekiyormuş