Gönderen Konu: Mikro C armda değişkene pin atama ve kontrolü  (Okunma sayısı 406 defa)

Çevrimdışı Murat Mert

  • Profesyonel Üye
  • *****
  • İleti: 1107
  • ANTALYA
Mikro C armda değişkene pin atama ve kontrolü
« : 09 Ekim 2017, 01: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:

Kod: [Seç]

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.


mert07

Çevrimdışı LukeSkywalker

  • Profesyonel Üye
  • *****
  • İleti: 3064
  • Çalışalım, yorulalım, üretelim...
Ynt: Mikro C armda değişkene pin atama ve kontrolü
« Yanıtla #1 : 09 Ekim 2017, 04: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.


Çevrimdışı Murat Mert

  • Profesyonel Üye
  • *****
  • İleti: 1107
  • ANTALYA
Ynt: Mikro C armda değişkene pin atama ve kontrolü
« Yanıtla #2 : 09 Ekim 2017, 05: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.



mert07

Çevrimdışı LukeSkywalker

  • Profesyonel Üye
  • *****
  • İleti: 3064
  • Çalışalım, yorulalım, üretelim...
Ynt: Mikro C armda değişkene pin atama ve kontrolü
« Yanıtla #3 : 09 Ekim 2017, 06:02:40 »
Fonksiyonu sizin oluşturmanız lazım.

Kod: [Seç]
#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);
        }
}

Çevrimdışı Murat Mert

  • Profesyonel Üye
  • *****
  • İleti: 1107
  • ANTALYA
Ynt: Mikro C armda değişkene pin atama ve kontrolü
« Yanıtla #4 : 09 Ekim 2017, 06:29:48 »
Teşekkür ederim hocam deniyorum.
mert07

Çevrimdışı Murat Mert

  • Profesyonel Üye
  • *****
  • İleti: 1107
  • ANTALYA
Ynt: Mikro C armda değişkene pin atama ve kontrolü
« Yanıtla #5 : 09 Ekim 2017, 07:13:58 »

hocam tamam  çok teşekkür ederim

mert07

Çevrimdışı LukeSkywalker

  • Profesyonel Üye
  • *****
  • İleti: 3064
  • Çalışalım, yorulalım, üretelim...
Ynt: Mikro C armda değişkene pin atama ve kontrolü
« Yanıtla #6 : 09 Ekim 2017, 07:18:36 »
Ccs c kullanmayin. Ansi uyumluligu yok.

Çevrimdışı Murat Mert

  • Profesyonel Üye
  • *****
  • İleti: 1107
  • ANTALYA
Ynt: Mikro C armda değişkene pin atama ve kontrolü
« Yanıtla #7 : 09 Ekim 2017, 07:41:25 »
mikroc arm a taşındım, ama bazı şeyler hemen olmuyor. Teşekkürler.
mert07