Picproje Elektronik Sitesi

DERLEYİCİLER => MikroC - PIC => MikroC ARM => Konuyu başlatan: Murat Mert - 08 Ekim 2017, 10:29:24

Başlık: Mikro C armda değişkene pin atama ve kontrolü
Gönderen: Murat Mert - 08 Ekim 2017, 10:29:24
S.A.
Herkese kolay gelsin.
Mikro c arm da daha önce CCS C de yaptığım bir şeyi yapamadım belki basittir ama çözmeye vasıl olamadım. Pini bir değişkene atamadım.

CCS de:



int kirmizi=pin_D0;
int beyaz=pin_D1;

void ledyak(int pin)
{
    output_high(pin); delay_ms(500);
    output_low(pin); delay_ms(500);
    output_high(pin); delay_ms(500);
    output_low(pin); delay_ms(500);
}

void main()
{
   while(1)
     {
         ledyak(kirmizi);
         ledyak(beyaz);
     }
}



Discovery407 kit kullanıyorum üzerindeki ledleri kontrol ediyorum ama bu şekilde edemedim. Farklı bir metodu varsa yardımcı olursanız sevinirim. Kolay gelsin.


Başlık: Ynt: Mikro C armda değişkene pin atama ve kontrolü
Gönderen: LukeSkywalker - 08 Ekim 2017, 13:48:46
CCS C işte insanları bu şekilde sabitliyor. Ben de zamanıda kullanıp register erişimlerinde sorun yaşamaya başlayınca hemen bırakmıştım.
Öncelikle output_high diye bir komu yok mikroC 'de. Register bazında işlem yapmanız lazım pin durumlarını okumak ve değiştirebilmek için.
Diğer bir durumda ANSI C uyumu. Bir pini  int diye tanımlayıp geçemezsiniz.

Başlık: Ynt: Mikro C armda değişkene pin atama ve kontrolü
Gönderen: Murat Mert - 08 Ekim 2017, 14:46:31

Hocam output microc de yok tamam tanımlıpin=1 yada 0 var orası tamam. Eğer mikroc de bunun benzeri bir komut yada önerilecek bir yol varmı yada kolaylık. Kulağı uzun yoldan tutmamak için. Aynı yöntemi CS pinleri içinde kullanıyorum kod kalabalığından kurtulmak ve sade bir yazım için.



Başlık: Ynt: Mikro C armda değişkene pin atama ve kontrolü
Gönderen: LukeSkywalker - 08 Ekim 2017, 15:02:40
Fonksiyonu sizin oluşturmanız lazım.


#define kirmizi 12
#define beyaz 13

void ledyak(char pin)
{
GPIOD_ODR|=(1<<pin); delay_ms(500);
GPIOD_ODR&=~(1<<pin); delay_ms(500);
GPIOD_ODR|=(1<<pin); delay_ms(500);
GPIOD_ODR&=~(1<<pin); delay_ms(500);
}
void main() {
GPIO_Digital_Output(&GPIOD_BASE,_GPIO_PINMASK_12|_GPIO_PINMASK_13);
while(1)
        {
         ledyak(kirmizi);
         ledyak(beyaz);
        }
}
Başlık: Ynt: Mikro C armda değişkene pin atama ve kontrolü
Gönderen: Murat Mert - 08 Ekim 2017, 15:29:48
Teşekkür ederim hocam deniyorum.
Başlık: Ynt: Mikro C armda değişkene pin atama ve kontrolü
Gönderen: Murat Mert - 08 Ekim 2017, 16:13:58

hocam tamam  çok teşekkür ederim

Başlık: Ynt: Mikro C armda değişkene pin atama ve kontrolü
Gönderen: LukeSkywalker - 08 Ekim 2017, 16:18:36
Ccs c kullanmayin. Ansi uyumluligu yok.
Başlık: Ynt: Mikro C armda değişkene pin atama ve kontrolü
Gönderen: Murat Mert - 08 Ekim 2017, 16:41:25
mikroc arm a taşındım, ama bazı şeyler hemen olmuyor. Teşekkürler.