PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : تولید منوی Configuration Wizard



Greatal
22-02-2014, 20:58
سلام به تمامی دوستان در این پست جهت بحث در مورد چگونگی تولید فایل C یا CPP با Configuration Wizard ایجاد شده بنده هم سعی می کنم تجربیات خودم رو در این مورد توضیح بدم دوستان و اساتید عزیز هم لطفا بنده کم تجربه رو یاری بفرمایند و اشتباه های من رو تصیح کنند

Greatal
22-02-2014, 21:12
ابتدا بریم سر توضیحات اولیه فایل های C و CPP شما به راحتی به فایل های Configuration Wizard دار تبدیل می شند با چند دستور و تگ ساده که در کامنت ها ذکر می شند لازم به ذکر هست که فرمت این Configuration Wizard ها تقریبا XML هست (فقط جهت اطلاع لطفا وحشت نکنید اگر با XML آشنا نیستید)

شروع قسمت Configuration Wizard باید تگ


// <<< Use Configuration Wizard in Context Menu >>>
بیاد یا به صورت //-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
در انتها هم بهتره تگ


// <<< end of configuration section >>>
بیاد البته اگر نزارید هم Error نمیده

اما تگ های اصلی


<h> تگ سر تیتر که حتما باید با </h> بسته بشه
بعد <h> تیر قسمت مورد نظر رو می نویسم مثلا
<h> Test Header
نکته قابل توجه در مورد تگ هدر اینکه می تونید هدر های تو در تو رو هم بسازید به قولی خاسیت نستد داره
مثلا یک همچین چیزی
<h> MAin header 1
<h> Headr 1 section 1
.
.
</h>
<h>header 1 section 2
.
.
</h>

</h>
<h> MAin header 2
<h> Headr 2 section 1
.
.
</h>
<h>header 2 section 2
.
.
</h>

</h>
تگ های بعدی رو هم اگر شد در پست های بعدی توضیح میدم و بررسی می شه

sadeghbakhshi
23-02-2014, 02:34
سلام
ممنون از آموزشتون
تا اینجا یه تستی زدم اوکی بود
تو در تو هم شد
فقط یک سوال اون قسمت value
رو چطوری باید مقدار دهی کرد یا بهتر بگم اصلا چی هست؟
شما برای وارد کردن برنامه میتونید
از آیکون php استفاده کنید
تا بهم نریزه اولین ایکون ردیف وسط سمت چپ
منتظر ادامه ی اموزشتون هستیم :0013:

Greatal
25-02-2014, 02:49
خب بریم سر تگ های دیگه تگ بعدی تگ <e> هست این تگ هم مثل تگ <h> باید با </e> بسته بشه البته اگر هم نشه اتفاقی نمی یفته فقط تا </h> بعدی اعتبار داره و کار اون هم نمایش چک باکسه و همچنین فعال کردن و غیر فعال یک بیت و تمام موارود زیر مجموعش سعی می کنم توضیح بدم ابتدا بزارید ایجوری بگم اگر تگ ما تنها استفاده بشه چه اتفاقی میفته





//<e> عنوان
دیفاین مورد نظر و مقدار ولیش
مثلا

//<e> titleا

#define SOME_DEFINED_VALUE_NAME 0




خب یه مسئله کوچیک هر تگ مقدار دهی اولین دیفاین بعد خودش رو تحت تاثیر قرار میده مثلا ایم تگ <e> اگر خالی استفاده بشه اولین دیفاین بعد خودش رو میتونه 0 و 1 بکنه
اما اگر خالی استفاده نشه و نستد باشه چی یعنی در واقع خاصیت اون تگ </e> اینجا معلوم میشه تمام تگ های زیر مجوعش در صورت فعال نشدن تیک مربط به این چک باکس در منوی کانفیگوریشن غیر فعال می شند و قابل تغییر از منوی کانفیگ نستند اما این چند تا معنی داره 1 اینکه از طریق فایل قابل دستش هستند 2 اینکه آخرین مقدار که داشتن رو حفظ می کنند حتی نمایش داده می شند و لی قابل تغییر از منوی کانفیگ نیستند اگر می خوایند که مقدار شون در صورت عدن انتخاب مقدار خاصی بشه باید از تکنیک های خاص خودش استفاده کندی مثل اینها #if یا #ifdef یا #ifndef یا #error یا ... که خودش مبحثه دیگیه اما نکته باحالش چیه این تگ یه کار باحال هم می کنه اگر بعد از حرف e با یک نقطه یک عدد بیارید بیت شماره n-1 رو صفر یا یم می کنه (با توجه به اینکه شمارش بیت ها از 0 شروع شده برای 8 بیت بیت 0 تا 7) برای بستن <e.#< شما از همو >/e> استفاده می کنید رایت # یعنی عدد!


خب مثال



//<h> test header
//<e> enable or deisble device x section
//<e> enable pin 1
#define pin1_enable 1
//</e>
//<e.7> enable bit 7
#define BIT_MANIPULATING_DEF 0x0000
//</e>
//</e>
//</h>



حالی یه چیز باحال تر شما می تونید یه عدد رو در نظر بگیرید و با ین تگ بیت n-1 رو درش صفر یا یک کنید مثلان ببندی اگر e.8 رو بنویسم و عدد ما 0xfeff باشه اگر تیک رو بزنید عدد تبدیل به 0xffff می شه یا 9 همنی بیتش تبدیل به یک می شه (ضمنن شما می تونید عدد ها رو بصورت ده دهی یا هگز بنویسید من برا راحت تر خودندن عمل های بیتی ترجیح می دم از هگز استفاده کنم)
خیلی باحاله مگه نه بقیه تگ های باشه واسه پست بعدی
راستی دوستان اگر مشکلی هست بفرمایند تا تصیح بشه اما در مورد سوال و جواب بزارید بحث به یه حد اقلی برسه چشم سواب ها رو هم اگر در حد توانم بود توضیح می دم

sadeghbakhshi
25-02-2014, 04:03
سلام
من این قسمت
<#e> رو متوجه نشدم
ولی با بقیه اش مشکلی ندارم
این هم دوتا عکس

Greatal
25-02-2014, 20:02
سلام
من این قسمت
<#e> رو متوجه نشدم
ولی با بقیه اش مشکلی ندارم
این هم دوتا عکس
دوست من اون e.# هست اولان که همون e.n یا e.عدد هستش
بعدشم جالبه با این کدی که نوشتید error ندارید این کدی که نوشتید کلاک پین احتمالان کل ماجرا رو اینیبل و دیس ایبل می کنه و لی رو هیچ دیفاینی تاثیر نداره و تها دی فاینی که روش اعمال میشه دیفاین مربوط به EX هست که اونم به دیفاین اشتباهی اعمال میشه دیفاین clock_setup!
عزیز دسته که می تونید تگ تو در تو بنویسید اما قرار نیست دی فاین رو خارج از محدوده تعریف کنید
در مورد e.# هم توضیح میدم من گفتم e.شماره
مثلا e.0 که همون e هست
e.1 که بیت دوم رو از عدد مورد نظر شما تغییر میده
e.2 که سومین بیت رو در عدد شما تغییر میده
چرا e.n بیت n+1 رو تغییر میده چون بیت ها از 0 شماره گزاری شدن بیت اول شمارش 0 هست بیت دوم شمارش 1 هست و الی مشا الله...
شما دقیقا آخرین مثال رو بین تگ شروع و پایان بزارید تیک هاشو بردارید و بزارید نتیجه رو متوجه میشید می توندی e.7 رو هم بکنید e.5 یا 3.4 فقط دقت داشته باشید تغییرات باتوجه به آخرین عددی که دارید مشاهده کنید

sadeghbakhshi
25-02-2014, 22:46
نه
من فقط می خواستم کدها رو یه تستی بزنم تا با طرز کارشون آشنا بشم
والا اگر دقت کنید داخلش هیچ کد یا دیفاینی وجود نداره
منتظر ادامه ی اموزشت هستم

Greatal
25-02-2014, 22:59
تگ بعدی تگ <i> تگ تولتیپ و توضیحات شما بعد از تگ ها مقداری (مثل تگ e و o ...) یا هدر می تونید هر چند بار می خواید قبل از دیفاین از این تگ استفاده کنید هر یک تگ i یک خط به تولتیپ و کامنت شما اضافه می کنه این تولتیپ هم با ماوس قبل رویته هم در قسمت توضیخات بعد از عنوان تگ مقداریتون نوشته میشه
نمونه استفاده از اون


//<h> test header

//<i> heder ham mitoone tool tip dashte bashe! :D

//<e> enable or deisble device x section

//<i> tool tip enable koli

//<e> enable pin 1

//<i> tool tipe enable pin 2

#define pin1_enable 1

//</e>

//<e.7> enable bit 7

//<i> tool tip enable bit 7

//<i> tool tip khade dovome enable bit 7

#define BIT_MANIPULATING_DEF 0x0000

//</e>

//</e>

//</h>

Greatal
28-02-2014, 13:27
تگ بعدی تگ q هستش که مشابه تگ e هست یعنی هم چک باکس تولید می کنه هم بیتی عمل می کنه اما چندتا فرق کوچیک داره
1- فقط چک باکسه و چیزی رو فعال غیر فعال نمی کنه
2- اصلا نباید بعد اون /q بیاد یعنی تگ بستن نداره
3- فقط برای یک دیفاین قبل انجام هست





//<q> test

#define test_Def 0

//<q.32> test bit

#define test_def_bit 0x0000

Greatal
28-02-2014, 13:48
تگ بعدی و خیلی مهم تگ o که خیلی هم مهم این تگ می تونه مقدار دهی رو برای شما انجام بده اونم به مدل های مختلف
عدد بیتی قسمتی از عدد لیست باکسی چک باکس ... که سعی میکنم با جزئیات توضیح بدم خودش چند تا پست میشه اما فکر کنم بازم کامل نشه توضیحش داد
ساده ترین کاربرد اون ورود عدد هاست که به تنهایی هم مفیده
مثال



//<o> Modem bad value

#define MODEM_BD_VL 9600

این تگ هم تگ بستن نداره یعنی بعدش /o نمی یاد
اما بسیاری تنظیمات داره که در همون قسمت کامنت خودش و بعد خودش میاد از جمله تک حد اکثر حد اقل مه بعد از عنوان تک میاد و مقدار رو محدود میکنه و اگر شما مقداری بیشتر یا کمتر رو وارد کنید اون رو به سمت مقدار بالایی یا پایینی گرد می کنه.
مثال




//<o> test min max Value<5-35>

#define test_MIMA 24



در مثال بالا شما هر عددی بالا تر از 35 وارد کنید جاش 35 میزاره و هر عدد پایین تر از 5 اون رو 5 میکنه!
تگ اضافی بعدیش تگ پله ای هست یعنی سکت هم میگید حد اکثر حد اقل چیه هم چند تا چند تا باید بهش اضافه بشه اگر هم عدد رو مثلا 2 یا 16 بگیرد می تونید عدد هی مضرب 2 و 16 رو مثلا ایجاد معلوم کنید عدد استپ بصورت دهدهی و دسیمال قابل بیان هستش
مثال






//<o> test min max Value<5-35:2>

#define test_MIMA 5



حالا نکته جالبش اینجاست در مثال بالا عدد شروع 5 و عدد فرد هست پس عددی هم که یوزر وارد می کنه فر خواهد بود عدد بعدی قابل قبول 7 بعدیش 9 و ... اگر یوزر عدد مثلا 6 رو وارد کنه عدد به پایین رند میشه و بجاش 5 قرار میده کلا به پایین رند می کنه
توضیحات بعدی بمونه وسه پستای بعدی

D.S
28-02-2014, 18:30
خیلی خوبه ادامه بدید

زرین
25-08-2014, 16:12
سلام
محیط گرافیکی چطور ایجاد میشه؟؟؟؟؟؟؟؟

Greatal
22-10-2015, 14:42
مدت هاست که این توپیک رو روها کرده بودم دوباره سعی می کنم فعالش کنم

- - - Updated - - -


سلام
ممنون از آموزشتون
تا اینجا یه تستی زدم اوکی بود
تو در تو هم شد
فقط یک سوال اون قسمت value
رو چطوری باید مقدار دهی کرد یا بهتر بگم اصلا چی هست؟
شما برای وارد کردن برنامه میتونید
از آیکون php استفاده کنید
تا بهم نریزه اولین ایکون ردیف وسط سمت چپ
منتظر ادامه ی اموزشتون هستیم :0013:
value ها در منوی کانفیگ ظاهر می شند و می توندی در اونجا تغییرش بدید

- - - Updated - - -


سلام
محیط گرافیکی چطور ایجاد میشه؟؟؟؟؟؟؟؟
دوست عزیز محیط گرافیکی توسط خود کامپایلر رای سهولت انجام تغییرات در فایل های هدر ایجاد میشه این محیط فقط در زمان برنامه نویسی به شما کمک می کنه و ایجاد محیط گرافیکی در حالت اجرا نمی کنه اگر دستورات فوق رو در فایل هدر خود قرار بدید و فایل رو سیو کنید و یگ بار بازو بسته کنیدش زیر صفحه یه تب ایجاد میشه که روش نوشته Configuration wizard در اونجا این محیط قابل دیدن هست