Picproje Elektronik Sitesi

DERLEYİCİLER => Microchip XC Serisi => Konuyu başlatan: samedkutuk - 29 Mayıs 2020, 15:31:02

Başlık: Port değer atamada işlem
Gönderen: samedkutuk - 29 Mayıs 2020, 15:31:02
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 :)
Başlık: Ynt: Port değer atamada işlem
Gönderen: devrecii - 29 Mayıs 2020, 15:55:32
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.
Başlık: Ynt: Port değer atamada işlem
Gönderen: samedkutuk - 29 Mayıs 2020, 16:18:45
  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
Başlık: Ynt: Port değer atamada işlem
Gönderen: PhD - 29 Mayıs 2020, 21:54:39
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
Başlık: Ynt: Port değer atamada işlem
Gönderen: samedkutuk - 29 Mayıs 2020, 22:07:23
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
Başlık: Ynt: Port değer atamada işlem
Gönderen: PhD - 29 Mayıs 2020, 22:19:32
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..
Başlık: Ynt: Port değer atamada işlem
Gönderen: RaMu - 30 Mayıs 2020, 02:18:32

  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
Başlık: Ynt: Port değer atamada işlem
Gönderen: samedkutuk - 30 Mayıs 2020, 16:48:02
evet çok teşekkür ederim tırnak olmaması gerekiyormuş