Picproje Elektronik Sitesi

DERLEYİCİLER => Microchip XC Serisi => Konuyu başlatan: baran123 - 26 Ağustos 2015, 23:18:05

Başlık: Bitleri and ve or ile değiştirmek
Gönderen: baran123 - 26 Ağustos 2015, 23:18:05
Olayı anlamak için basit bir state machine örneğini inceliyorum.STM için yapılmış bir öeneği XC ye uyarlarken hata veriyor.
Bu basit şeyleri sürekli unutmak beni çıldırtıyor.  :-[

#define LED_IO_PORT     PORTA
#define LED_PIN_NUMBER  0

case LED_STATE_OFF:
LED_IO_PORT &= (~(1<<LED_PIN_NUMBER)); //hata
break;
           
case LED_STATE_ON:
LED_IO_PORT |= (1<<LED_PIN_NUMBER); // hata
break;

Başlık: Ynt: Bitleri and ve or ile değiştirmek
Gönderen: z - 26 Ağustos 2015, 23:20:42
Hani bunun sivici mivici.
Başlık: Ynt: Bitleri and ve or ile değiştirmek
Gönderen: baran123 - 26 Ağustos 2015, 23:32:10

#include <xc.h>// Buda lazım tabi yoksa derleyici nerden bilsin PORTA yı
//Eski uzay filmlerinde kullanılan aletlere verilen tepki "Ee uzay tabi lazım"

:)
Başlık: Ynt: Bitleri and ve or ile değiştirmek
Gönderen: ilhan_mkp - 27 Ağustos 2015, 01:26:18


#define LED_IO_PORT     PORTA
#define LED_PIN_NUMBER  0

case LED_STATE_OFF:
LED_IO_PORT &= 0XFE;  // binary  11111110       portun bit0 silinir
break;
           
case LED_STATE_ON:
LED_IO_PORT &= 0XFE;  // binary  11111110      portun bit0 silinir
LED_IO_PORT |= 0X01;  // binary  00000001      portun bit0 1 yapılır
break;


Başlık: Ynt: Bitleri and ve or ile değiştirmek
Gönderen: MrDarK - 27 Ağustos 2015, 08:44:15
Alıntı yapılan: z - 26 Ağustos 2015, 23:20:42
Hani bunun sivici mivici.

katılıyorum switch'siz case mi olur ?

Ayrıca kodun bi kısmını atmışsın buraya ne yaptığı belli değil :) Aldığın hata nedir belli değil. Biraz amatörce bir soru olmuş sankim :)
Başlık: Ynt: Bitleri and ve or ile değiştirmek
Gönderen: mehmet - 27 Ağustos 2015, 08:58:08
Orada sıkıntı switch-case degil, daha oraya gelmeden hata
verdi sanıyorum. 8)
xc.h kütüphanesi eklenmediği için port tanımlamasında sıkıntı. 8)