Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => C/C++ => Konuyu başlatan: ArifAhmet - 08 Şubat 2016, 23:21:38

Başlık: Gün geçmiyorki yeni birşey çıkmasın (C içerir)
Gönderen: ArifAhmet - 08 Şubat 2016, 23:21:38
Keil'de dolanirken karsima cikan garip birsey gordum.

#define USART_DRV_NUM 6

#define USART_BAUDRATE 9600

#define _USART_Driver_(n) Driver_USART##n
#define USART_Driver_(n) _USART_Driver_(n)

extern ARM_DRIVER_USART USART_Driver_(USART_DRV_NUM);
#define ptrUSART (&USART_Driver_(USART_DRV_NUM))


Kod normal gorunuyor ama surada bir gariplik var;
#define _USART_Driver_(n) Driver_USART##n

Ilerideki projelerimde bayagi isime yarayacak bu.

Ayrica internette hicbirsey bulamadim bununla ilgili
Başlık: Ynt: Gün geçmiyorki yeni birşey çıkmasın (C içerir)
Gönderen: Cemre. - 08 Şubat 2016, 23:29:54
Hocam kullanımına dair bir örnek verme şansınız var mı? Ben anlayamadım da.
Başlık: Ynt: Gün geçmiyorki yeni birşey çıkmasın (C içerir)
Gönderen: ArifAhmet - 08 Şubat 2016, 23:32:10
Simdi ben _USART_Driver_ macrosunu kullanarak onceden define edilmis bir usart modulunu secebiliyorum. Ornegin

_USART_Driver_(4)

Bu USART4 demek.

Hal uzerinden ornek verirsem:

UART_HandleTypeDef huart1;

huart1.Instance =_USART_Driver_(4);


mesaj birleştirme:: 08 Şubat 2016, 23:44:06

Ne oldugunu buldum "Token Pasting" deniyormus buna