NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 2138 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 18 از 18

موضوع: فیلم آموزش کاربردی زبان c در میکروکنترلر arm

  1. #1
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض فیلم آموزش کاربردی زبان c در میکروکنترلر arm

    آشنایی با زبان برنامه نویسی c مقدمه کار با میکروکنترلرهای ARM می باشد. در صورتی این آشنایی مفیدتر است که به صورت کاربردی باشد.
    در این مجموعه آموزشی از ابتدا کارآموز با مقدمات کار که شامل آشنایی با محیط برنامه نویسی، نحوه ایجاد پروژه و ... آشنا شده و در ادامه سایر سرفصل ها به صورت مرحله به مرحله شرح داده شده است.

    برای خرید مجموعه کلیک کنید
    این مجموعه 10 ساعت فیلم آموزشی می باشد. آموزش ها کاملا کاربردی می باشد.

    سرفصل کامل به صورت زیر می باشد :
    0- مقدمه - آشنایی با محیط های برنامه نویسی
    1- انواع داده، متغییر، ثوابت و عمگرها
    2- استفاده از توابع stdio
    3- حلقه while و for و شرط if و switch
    4- آرایه و رشته
    5- تابع و و توابع کتابخانه ای
    6- اشاره گرها
    7- ساختار و یونیون
    8- دستورات پیش پردازنده
    9- آشنایی با محیط کامپایلر کیل و میکرو کنترلر
    10- توابع رشته ای
    11- کلاس های حافظه
    12- GPIO
    13- مانیتورینگ سریال برنامه GPIO
    روال کار بدین صورت است که ابتدا در پاورپوینت توضیحات کامل هر فصل ارائه شده و سپس در سمپل هایی که مرحله به مرحله آماده شده است مطالب ذکر شده در کامپایلر پیاده سازی ، اجرا و شرح داده شده است.
    برای پیاده سازی قسمت های برنامه نویسی c می توان از کامپایلر ویژآل استدیو و code :: blocks استفاده کرد :




    در این مجموعه آموزشی ضمن اشاره به نحوه کار با هر دو کامپایلر ، از code :: blocks به عنوان نرم افزار اصلی در ادامه فصل ها برای اجرای برنامه های C، استفاده شده است .
    بعد از اینکه کارآموز در نرم افزار کدبلاکز با موارد و نکات مربوط به برنامه نویسی در فصل های 1 تا 8، آشنا شد وارد محیط نرم افزار Keil شده تا بتواند دانسته های خود را که در برنامه نویسی C کسب کرده است در عمل در میکروکنترلر پیاده سازی کند. این نرم افزار قدرتمند اکثر میکروکنترلرهای ARM را پشتیبانی می کند.

    در فصل 9 "آشنایی با محیط کامپایلر کیل و میکرو کنترلر" وارد محیط برنامه نویسی میکروکنترلر (Keil)شده و ضمن آشنایی کامل با این نرم افزار، نحوه ساخت یک پروژه و نحوه پروگرام کردن یک برنامه در میکروکنترلر و دیباگ کردن برنامه به صورت عملی شرح داده شده است. میکروکنترلر شرح داده شده در این فصل و فصل آخر، lpc1768 می باشد که برد آموزشی آن در فروشگاه کویر الکترونیک می باشد :


    همچنین با استفاده از پروگرامر جیلینک فروشگاه می توان به سادگی انواع میکروکترلرهای ARM را در نرم افزار کیل پروگرام کرد:
    در فصل 12 نحوه کار با پریفرال GPIO(پایه های ورودی خروجی) به صورت کاملا عملی در نرم افزار keil شرح داده شده است. به این صورت که چگونه یک پایه خروجی در میکروکنترلر lpc1768 را به صورت خروجی تعریف کرد و آن پایه را ست و ریست نمود. و اینکه چگونه یک پایه در میکروکنترلر lpc1768 را به صورت ورودی تعریف نمود که با زدن یک کلید متصل به آن پایه، عمل خاصی انجام شود. همچنین با ترکیب نکات برنامه نویسی C با این قسمت، استفاده تعمیم یافته تری از پایه های ورودی خروجی نماییم.
    در فصل آخر با اضافه کردن پورت سریال به برنامه، نحوه استفاده از این پورت به عنوان مانیتور کردن اجرای برنامه به صورت عملی شرح داده شده است.

    در این مجموعه سعی شده است مثالهای ذکر شده در قسمت برنامه نویسی c در فصل 1 تا 8، کاملا کاربردی باشد و موارد مختص به برنامه نویسی C که در فیلم های آموزشی lpc1768 :


    لازم به توضیح بوده در کامپایلر کد بلاکز پیاده سازی و شرح داده شود. بدین ترتیب کارآموز در حین شرح رجیسترها و برنامه ها در فیلم آموزشی lpc1768 و فیلم آموزشی تکمیلی و پیشرفته lpc1768 با ایراد و سوال برنامه نویسی C مواجه نمی شود و توجه خود را صرف نحوه تنظیمات رجیسترها و نحوه استفاده از آنها می کند.
    در پایان به این نکته توجه داشته باشید که :
    • پیش نیاز کار با میکروکنترلرهای ARM ، آشنایی با زبان C می باشد.
    • پیش نیاز اجرای پروژه میکروکنترلرهای ARM ، تسلط به زبان C و تسلط به خود میکروکنترلر می باشد.
    تسلط به زبان C و تسلط به خود میکروکنترلرهای ARM، نیاز به تمرین و صرف زمان دارد.



    • تذکر: هر گونه کپی برداری و پخش غیر قانونی این اثر از نظر شرعی حرام می باشد و پدید آورندگان این اثر هیچ گونه رضایتی ندارند!
    • تمامی حقوق مادی و معنوی این اثر برای پدید آورندگان این اثر محفوظ می باشد.



    • این مجموعه با همکاری شرکت کویرالکترونیک تهیه شده است.www.kavirElectronic.ir
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: code_blocks.png
مشاهده: 401
حجم: 91.1 کیلو بایت   برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: visual.png
مشاهده: 405
حجم: 22.3 کیلو بایت  

  2. کاربران : 5 تشکر کرده اند از شما mzarkoob برای ارسال این پست سودمند:


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  4. #2
    Banned
    تاریخ عضویت
    Apr 2013
    نام
    صادق علی بخشی
    نوشته ها
    1,148
    تشکر
    1,183
    تشکر شده 1,276 بار در 702 پست

    پیش فرض


    آقا مهدی گرفتی مارو؟
    کسی که با ARM کار میکنه با محیط کیل آشنایی داره دیگه
    چه نیازی به حلقه های و اشنایی با محیط داره ؟
    بعد طرف به اینها مسلط هست
    • پیش نیاز کار با میکروکنترلر ARM ، آشنایی با زبان C می باشد.

    • پیش نیاز اجرای پروژه ARM ، تسلط به زبان C و تسلط به خود میکروکنترلر می باشد.

    • تسلط به زبان C و تسلط به خود میکروکنترلر نیاز به تمرین و صرف زمان دارد.
    ولی انواع داده رو نمیدونه؟
    شما از اول به اخر میای ؟
    مثل این میمونه به سعدی بگی ای ساربان اهسته ران
    ای ساربان با کدوم خ مینویسن ؟

  5. #3
    مدیرکل سایت kavir آواتار ها
    تاریخ عضویت
    Jun 2007
    نام
    زارعی
    نوشته ها
    3,547
    تشکر
    1,218
    تشکر شده 5,684 بار در 1,801 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sadeghbakhshi نمایش پست ها

    آقا مهدی گرفتی مارو؟
    کسی که با arm کار میکنه با محیط کیل آشنایی داره دیگه
    چه نیازی به حلقه های و اشنایی با محیط داره ؟
    بعد طرف به اینها مسلط هست
    • پیش نیاز کار با میکروکنترلر arm ، آشنایی با زبان c می باشد.

    • پیش نیاز اجرای پروژه arm ، تسلط به زبان c و تسلط به خود میکروکنترلر می باشد.

    • تسلط به زبان c و تسلط به خود میکروکنترلر نیاز به تمرین و صرف زمان دارد.
    ولی انواع داده رو نمیدونه؟
    شما از اول به اخر میای ؟
    مثل این میمونه به سعدی بگی ای ساربان اهسته ران
    ای ساربان با کدوم خ مینویسن ؟
    عجب این حرف از شما بعیده!
    شما میدونید چقدر زنگ زدن میخوان از avr بیان سمت arm که 90درصد بیسیک کارن و واقعا سخته براشون و اموزش های زبان سی به مختص میکرو خیلی کم هست
    و یا یکی بخواد استارت بزنه برای میکرو این اموزش بسیار مورد نیازش هست
    به نظرم این اموزش برای خیلی ها کاربردی خواهد بود
    کویر ویدئو راه اندازی شد

    اگر چه دیر ولی برگشتم به جمع دوستان قدیمی....

  6. کاربران : 2 تشکر کرده اند از شما kavir برای ارسال این پست سودمند:


  7. #4
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    سلام
    همان طور که آقای زارعی فرمودند کسای زیادی هستند که می خواهند بیاییند سمت arm ولی این مشکل زبان سی را دارند. حالا این دسته یک طرف، کسایی که avr کار کردند ولی بیس زبان سی خوبی ندارند!
    چندین ساله یکی از کارهام تدریسه و این مورد دوم را بسیار دیده ام. تعدادی از افرادی که باهاشون کلاس داشتم عنوان می کردند که avr کار کردند و سی هم می دونند و شروع میکردیم. یکم که جلو می رفتیم میدیدیم ای بابا طرف در زبان سی مشکل داره و ذهنش درگیر اینه که این چرا این طور میشه و ... تا چه برسه به اینکه خود تنظیمات و برنامه نویسی arm چی هست. دیگه این گونه به طرف اعتماد نمی کنم که عنوان می کنه سی بلدم !

  8. کاربران : 2 تشکر کرده اند از شما mzarkoob برای ارسال این پست سودمند:


  9. #5
    کاربر فعال
    تاریخ عضویت
    Jan 2014
    نوشته ها
    124
    تشکر
    116
    تشکر شده 46 بار در 31 پست

    پیش فرض

    سلام
    من یکی ازین اموزشارو میخوام برادر
    فقط لطفا یه تجدید نظری در قیمت بفرمایین
    آموزش c زیاده در سطح نت و قیمتا پایین تره
    آموزش شما تخصصی تره و این نقطه قوت پکیج هستش ولی قیمت مناسب نیست بخصوص که سایت ایرانمیکرو به قیمت مناسب شهره شده
    تشکر
    ویرایش توسط Hadi_ghr_e : 18-09-2015 در ساعت 12:11

  10. #6
    کاربر فعال
    تاریخ عضویت
    Mar 2011
    نوشته ها
    131
    تشکر
    38
    تشکر شده 45 بار در 37 پست

    پیش فرض

    هییییییییییییییییی کاشکی رو یه مبحث دیگم کار می کردین اینهمه بچه ها و خودمن درخواست داشتن STM ،پردازش تصویر ... نمی دونم چرا کویر اینهمه مارو چشم انتظار می زاره

  11. #7
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    نقل قول نوشته اصلی توسط hajar1272 نمایش پست ها
    کاشکی رو یه مبحث دیگم کار می کردین اینهمه بچه ها و خودمن درخواست داشتن STM ،پردازش تصویر ...
    بله مهندس درسته ولی این موضوع سی یک موضوع پایه و اساسیه و موارد دیگه فرصت باشه یکی یکی. باور کنید ارائه یک مجموعه آموزشی زمان بر و وقت گیره.
    ما همون اول هم که 1768 ارائه کردیم کسایی بودند که می گفتند مثلا وقتی دارید ال سی دی کاراکتری میگید شما از وسط کار شروع کردید . در حالی که ما فرض کرده بودیم کسی که میاد ARM مواردی را بلده دیگه. ولی خوب دیدیم ما اشتباه فرض کردیم ! نمونه آخر این لینک ببینید. سوالاتی که یه جورایی مربوط به C میشه ولی در کار با ARM پیش میاد. چند تا از این نوع سوالا لینک بدم در فروم پرسیده شده!؟

  12. #8
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    نقل قول نوشته اصلی توسط Hadi_ghr_e نمایش پست ها
    فقط لطفا یه تجدید نظری در قیمت بفرمایین
    آموزش c زیاده در سطح نت و قیمتا پایین تره
    آموزش شما تخصصی تره و این نقطه قوت پکیج هستش ولی قیمت مناسب نیست بخصوص که سایت ایرانمیکرو به قیمت مناسب شهره شده
    قیمت با تخفیف اعمال شد.
    موردی که خودتان هم به آن اشاره فرمودید کاربردی بودن این آموزش است
    مثالهایی که در بحث آرایه و اشاره گر و یونیون و.. استفاده کردم برنامه های خود سمپل های میکرو قسمت برنامه نویسی اش بوده که شما خواه ناخواه با آن مواجه می شوید.که در کامپایلر کدبلاکز پیاده سازی کرده ام. این خیلی دید شما را باز می کنه و وقتی وارد راه اندازی خود پریفرال مربوطه می شوید دیگه ایراد ندارید اینها از کجا آمده و چرا.
    همین طور در انتها هم یکی دو تا پریفرال از خود میکرو lpc1768 کار کردم نه فقط راه اندازی بلکه با هدف اعمال نکات برنامه نویسی که در فصل های قبلی ذکرش شده

  13. تشکرها از این نوشته :


  14. #9
    عضو جدید
    تاریخ عضویت
    May 2009
    نام
    tehransar
    نوشته ها
    7
    تشکر
    10
    تشکر شده 2 بار در 2 پست

    پیش فرض

    سلام
    احوال اقای زرکوب؟
    اقا بازم گل کاشتی
    انگار مااعتیاد پیدا کردیم به تالیفای شما
    اخر این ماه فیلم پیشرفته و این فیلمتم میگیرم
    کارتون درسته خداییش
    ایشالا وقت شه در اینده یسری اموزش سازمان یافته و قدر میزارم برای fpga ها و بخش پردازنده های آراریه ای رو یه تکون اساسی میدم
    (باورت میشه اگه بگم هنوز اون برد beemer و فیلم اموزشیه اولتو ندیدم؟ دیگه کمکم داره ارزو میشه برام داره همینجور خاک میخوره)

  15. تشکرها از این نوشته :


  16. #10
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    امیدوارم کاری براتون پیاش بیاد که آن موقع است که مجبور میشوید مراجعه کنید به این مجموعه ها و بازم امیدوارم کمک کننده باشه و با سرعت بیشتری شما را به هدفتان برسونه.
    نظرات، پیشنهادات و انتقادات سازنده دوستان بوده که باعث بهبود مجموعه های بعدی خواهد شد.

  17. تشکرها از این نوشته :


  18. #11
    عضو جدید
    تاریخ عضویت
    Oct 2015
    نوشته ها
    5
    تشکر
    0
    تشکر شده 2 بار در 2 پست

    پیش فرض

    سلام
    میخواستم از مهندس زرکوب تشکر کنم .
    این مجموعه برای من خیلی مفید بود.
    موفق باشین.

  19. تشکرها از این نوشته :


  20. #12
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض مشکل برنامه نویسی

    دو مشکل برای کسانی که می خواهند با میکروکنترلرهای arm شروع به کار کنند معمولا مشاهده می شود:
    اول عدم آشنایی کافی با برنامه نویسی زبان سی است.
    دوم عدم توانایی انجام کار است. بدین معنا که نمی توانند پریفرال های مختلف را با هم ترکیب کنند و کار مورد انتظار را پیاده سازی کنند.
    ابزار آموزش باعث تسهیل کار می شود ولی چیزی جای تمرین و پشتکار را نمی گیرد.
    Telegram: Contact @armeducation
    ----------------------------------------
    این موضوعی که قبلا در کانال قرار داده شده بارها و بارها در عمل مشاهده شده است.

  21. #13
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض پیش نیاز یادگیری میکروکنترلرهای arm

    قبل از کار با میکروکنترلرهای ARM و در راه اندازی پریفرال های میکروکنترلرهای ARM، بایستی به این موضوع توجه شود که :
    • پیش نیاز کار با میکروکنترلرهای ARM ، آشنایی با زبان C می باشد.
    • پیش نیاز اجرای پروژه میکروکنترلرهای ARM ، تسلط به زبان C و تسلط به خود میکروکنترلر می باشد.
    • تسلط به زبان C و تسلط به خود میکروکنترلرهای ARM، نیاز به تمرین و صرف زمان دارد.
    در توضیح پیش نیاز بودن آشنایی با زبان برنامه نویسی سی، کارآموز در حین شرح رجیسترها و برنامه ها و کار با توابع با ایراد و سوال برنامه نویسی C مواجه نمی شود و توجه خود را صرف نحوه تنظیمات رجیسترها و نحوه استفاده از آنها و سایر تنظیمات می کند.
    (فیلم آموزش کاربردی زبان سی در میکروکنترلرهای ARM :
    فیلم کاربردی آموزش زبان C و میکروکنترلر ARM
    به منظور پر کردن این خلا می باشد.)
    حال سوال اینجاست که صرف یادگیری راه اندازی پریفرال های میکروکنترلرهای ARM، کافیست!؟
    Telegram: Contact @armeducation
    ---------------------------
    با توجه به تجربه هایی که بدست آورده اید پاسخ شما به این سوال ذکر شده چیست؟
    مدتی پیش یکی از فن آموزان دقیقا به این موضوع اشاره داشتند :
    A_R_S
    سلام مهندس بنده با دیدن فیلم های آموزشیتون توانایی راه اندازی قسمت های مختلف میکرو آرم 1768 رو بدست آوردم ولی نمیتونم دوقسمت رو با هم راه اندازی کنم مثلا بتونم توسط یه سنسور دما دما رو بخونم از پورت مربوطه و اون دما رو روی ال سی دی کاراکتری نشون بدم همین کار ساده رو بلد نیستم چکار کنم؟
    فیلم زبان سی شما هم در مورد میکرو دیدم کمک کرد به درک مفاهیم ولی چطور با سنسور ها کار کنم و چطور از قسمت های مختلف میکرو استفاده کنم رو بلد نیستم راهنماییم کنید مهندس
    منظورم اینخ که من الفبای این میکرو آرم 1768 رو بلد شدم ولی برای جمله سازی و بکار بردن این الفبا مشکل دارم

  22. #14
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض سوالات اولیه

    سوالات اولیه ای که معمولا برای کسانی که به کار با میکروکنترلرهای ARM شروع می کنند بسیار پیش آمده است و بسیار پرسیده شده است :
    - این دستوراتی مثل
    کد:
     LPC_GPIO0->FIOSET = 0x03
    و
    کد:
    LPC_GPIO0->FIOSET = (0x03) « 16;
    چه بیت هایی را ست می کند. عملگر » در اینجا چه کاری انجام می دهد؟
    - عباراتی که با =| و ~=& به کار برده می شوند چه مفهومی دارند؟
    - تعریف یک متغییر با int32_t و int8_t به چه معناست؟
    - چگونه چک کردن یک بیت از یک رجیستر انجام می شود؟ مثلا چک کردن 0 شدن بیت 11 از رجیستری مثلا رجیستر PIN این گونه انجام شده:
    کد:
    (LPC_GPIO2->FIOPIN & 1«11) ==0
    پس چک کردن 1 شدن بیت 11 از رجیستر PIN چگونه انجام می شود؟ چرا وقتی من از دستور :
    کد:
    LPC_GPIO2->FIOPIN & (1«11))== 1
    برای چک کردن ست شدن بیت 11 استفاده می کنم، کار نمی کند!؟
    - عملکرد این ماکرو به چه نحو است :
    کد:
    #define LED1_ON(x)   ((x) ? (LPC_GPIO1->FIOSET = LED1) : (LPC_GPIO1->FIOCLR = LED1))
    - نحوه تبدیل یک متغییر به یک رشته چگونه است؟
    - چگونه ورودی ها و خروجی ها را در یک تابع مشخص کنیم؟
    - چگونه یک کتابخانه درست کنیم و به پروژه اضافه کنیم؟
    - و ....
    شما چه سوالات ابتدایی برایتان پیش آمده است!؟
    Telegram: Contact @armeducation
    ---------------------------------------------------
    این سوالات را بارها و بارها دیدم که پرسیده شده و گاهی هنوزم پرسیده می شه!
    شما چه سوالات ابتدایی برایتان پیش آمده است!؟

  23. #15
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض کاربرد استفاده از عملگرهای =& و =|

    در صورتی که بخواهید از پریفرالی استفاده کنید بایستی یک پیکربندی(اینیشیالیز) انجام شود. در اینجا لازم است ابتدا رجیسترهای مربوطه ریست شود و سپس مقدار دهی شود. مثلا :
    کد:
    GPIOD->CRL   &= ~0xF000000;         
    GPIOD->CRL   |=   0x2000000 ;
    این موضوع با توجه به پست
    Telegram: Contact @armeducation
    در رابطه با عملگر ~=& می باشد.
    به نظر شما این کار چه ضرورتی دارد!؟

    -------------------------------------------
    در صورتی که در جای دیگری از قبل این بیت این رجیستر تنظیم شده باشد و شما هم الان آن را به ضورت =| تنظیم کنید با تنظیم قبلی or می شود و اگر قفط = قرار دهید سایر تنظیمات احتمالی برای سایر قسمت ها از بین می رود.

  24. #16
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض نحوه استفاده از ماکرو

    در این پست :
    Telegram: Contact @armeducation
    این سوال مطرح شد که :
    - عملکرد این ماکرو به چه نحو است :
    کد:
    #define LED1_ON(x)   ((x) ? (LPC_GPIO1->FIOSET = LED1) : (LPC_GPIO1->FIOCLR = LED1));
    در ماکرو می توان به یک عبارت دیفاین شده، یک ورودی شرطی تعریف کرد. به عنوان مثال در عبارت ذکر شده، در صورتی که ورودی x برابر 1 باشد عبارت اول اجرا می شود (یعنی LPC_GPIO1->FIOSET = LED1) و اگر x برابر صفر باشد عبارت دوم اجرا می شود(یعنی LPC_GPIO1->FIOCLR = LED1) . عملگر (x) ? نیز یک if مختصر می باشد. به عنوان نمونه دیگر این ماکرو را در نظر بگیرید و عملکرد آن را بررسی کنید :
    کد:
    #define LCD_E(x)    GPIOC->ODR = (GPIOC->ODR & ~PIN_E)  | (x ? PIN_E : 0);
    Telegram: Contact @armeducation

  25. #17
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض extern

    گاهی لازم است یک متغییر در کتابخانه ای که به پروژه اد شده تغییر کند و در برنامه اصلی از آن استفاده شود. به سادگی با تعریف این متغییر از نوع extern این کار انجام می شود. در تایع اصلی متغییر تعریف می شود :
    کد:
    extern int x;
    و همین طور در کتابخانه ای که به پروژه اد شده به این شکل تعریف شده و می تواند مقدار دهی شود :
    کد:
    int x;
    Telegram: Contact @armeducation

  26. #18
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض کاربرد عبارت volatile

    ممکن است در برنامه ای با این کلمه در تعریف متغییر مواجه شده باشید. همچنین در دیفاین رجیسترها نیز به صورت __IO استفاده شده است :
    کد:
    __IO uint32_t FIODIR;
    ممکن است متغییر در پردازش جاری تغییر نکند مثلا در وقفه مقدار آن تغییر کند، بدون آنکه کامپایلر متوجه این تغییر شود. و این تغییر را اعمال نکند. با استفاده از این کلمه در تعریف متغییر در هر بار فراخوانی اسم متغیر در طول برنامه اصلی، مقدار آن را از محل حافظه خوانده شده و اعمال می شود.

موضوعات مشابه

  1. [سوال] جزوه آموزشی برد آموزشی lpc1768
    توسط pooriya_nic18 در انجمن LPC series (NXP)
    پاسخ: 5
    آخرين نوشته: 07-12-2013, 14:49
  2. ثبت نام در مسابقات رباتیک وزارت آموزش و پرورش
    توسط elhghasemi در انجمن طراحی و ساخت و آزمایش مدارت الکترونیک
    پاسخ: 0
    آخرين نوشته: 03-08-2012, 21:14

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •