gpio ile fonksiyon oluşturmak

Başlatan MCansız, 30 Eylül 2014, 12:33:26

MCansız

merhaba

stm32f4-discovery kitimde  D portunun 15. pinini yakıp 2 saniye sonra sönmesini istiyorum bu farklı portlarda olabilir şöyle bir fonksiyon yazdım

void ac_kapa(unsigned long veri)
{
     veri=1;
      delay_ms(2000);
     veri=0;
}


ac_kapa(GPIOD_ODRbits.ODR15);

yazdığımda istediğim olmuyor nerede yanlış yapıyorum

kimlenbu

void ac_kapa(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
GPIOx->BSRRL = GPIO_Pin;
delay_ms(2000);
GPIOx->BSRRH = GPIO_Pin;

}


edit : örnek kullanım ac_kapa(GPIOC,GPIO_Pin_0);


MCansız

hocam yazılımı mikroC de yapıyorum ve bu kod mikroc ye uygun değil  GPIO_TypeDef* ve  GPIOx->BSRRL komutlarında hata veriyor

ArifAhmet

stm32f4xx/stm32f4xx_gpio kütüphanesini projene ekle sorun düzelecektir diye düşünüyorum.
Yaşasın Open Source!

MCansız

Alıntı yapılan: ArifAhmet - 30 Eylül 2014, 14:07:53
stm32f4xx/stm32f4xx_gpio kütüphanesini projene ekle sorun düzelecektir diye düşünüyorum.

kütüphanelerin hepsini proje klasörüne kopyalayıp projeye ekledim ama birçok hata verdi

ArifAhmet

#5
En iyisi Keil'i açın ve başınız ağrımasın. Çünkü her kütüphane diğerine bağımlı. Ya da datashhet'i açıp oradan ilgili registerlara bakın.  Ya da ST'nin ilgili kütüphane fonksiyonlarını inceleyip, resgister seviyesinde aynısını yazın.
Yaşasın Open Source!

kimlenbu

Cevap verirken mikroC olduğuna dikkat etmemişim kusura bakma.