Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

main fonksiyonu içinde #define ?

Başlatan saucompeng, 21 Ağustos 2010, 12:12:28

saucompeng

merhaba arkadaşlar , seri porttan aldığım bilgilere göre mesela; #define L_1 PIN_A0 yapıyoruz ve main içerisinde input(L_1) diyebiliyorum. fakat daha sonra rs232 den konfigürasyon gönderdiğimde mesela L_1 i PIN_A3 yapabilmek istiyorum. Varmıdır bir yöntemi ?
www.teknikyazi.com --üşenme,erteleme,vazgeçme...

ErsinErce

#define komutu compiler için yapılan tanımlamalarda kullanılır. Program koşarken yaşanan değişiklikler etkilemez.

seri port veya başka bi yerden aldığınız bilgiye göre portlarda veya başka şekillerde işlem yapmak için aşağıdaki gibi bir sistem uygulayabilirsiniz.
switch (x)
{
case 0:
// gelen bilgi 0 oluğunda yaplacak işlem
break;

case 1:
// gelen bilgi 1 oluğunda yaplacak işlem
break;

case 2:
// gelen bilgi 2 oluğunda yaplacak işlem
break;

default:
// gelen bilgi 0, 1 ve 2 den farklı oluğunda yaplacak işlem
break;
}

saucompeng

24 adet port tanımlaması olduğu için malesef bu uygun bir çözüm değil :/
www.teknikyazi.com --üşenme,erteleme,vazgeçme...

picusta

define degil sana degisken lazim (L1 bir degisken).
Peki hangi türden bir degisken ?
PIN_A0 'nin tanimlandigi dosyaya bak (input fonksyonunun prototipine de bak). Muhtemelen pointer + bit mask'tir

saucompeng

Tamamdır saolasın , 18F6585.h  dosyasının içinde "#define PIN_A0 31744" şeklinde tanımlanmış..
www.teknikyazi.com --üşenme,erteleme,vazgeçme...