سلام
من ميخام در ميکرو lpc1768 و کيل دستوز رو توسط sprintf بسازم و بعد اجراش کنم دليل استفاده هم اين هست که حدود 100 دستور ساختم که فقط عدد اخرشون فرق داره و ميخام اين عدد رو تغير بدم و اجراش کنم!!
مثلا
کد:
#define pin_out_1 1<<0
#define pin_in_1 1<<1
#define port_io_1 LPC_GPIO1
#define port_in_1 FIO_ReadValue(1)
#define out1_on LPC_GPIO1->FIOSET = pin_out_1
#define out1_off LPC_GPIO1->FIOCLR = pin_out_1
#define pin_out_2 1<<4
#define pin_in_2 1<<8
#define port_io_2 LPC_GPIO1
#define port_in_2 FIO_ReadValue(1)
#define out2_on LPC_GPIO1->FIOSET = pin_out_2
#define out2_off LPC_GPIO1->FIOCLR = pin_out_2
#define pin_out_3 1<<9
#define pin_in_3 1<<10
#define port_io_3 LPC_GPIO1
#define port_in_3 FIO_ReadValue(1)
#define out3_on LPC_GPIO1->FIOSET = pin_out_3
#define out3_off LPC_GPIO1->FIOCLR = pin_out_3
اينها رو ببينيد
out1_on
out2_on
out3_on
اين سه خط تنها تفاوتشون در يک عدد هست که ميشه با يک کانتر ساخت
پس ميشه با يک حلقه for اين عدد رو ساخت و با sprintf متن رو داخل يک متغير ريخت
حالا ميمونه که خود ميکرو اين رو اجرا کنه!!
مزيت اين که بجاي اين که من کلي دستور بنويسم ک اگر خروجي اين بود و اين اون بود و ان اين بود خروچي رو روشن و يا خاموش کن حالا بجاي اين گه ان اين اون رو صد بار تکرار کنم ميام ميزارمش توي يک حلقه و...