سوالات مخصوص ادیتور EmBitz در خصوص AVR

شروع موضوع توسط Alma ‏9/11/18 در انجمن AVR

  1. Alma

    Alma مدیر عضو کادر مدیریت

    لطفا فقط سوالات مخصوص AVR رو در این پیج مطرح کنید
  2. karabakh_leaks

    karabakh_leaks همکار جدید

    سلام
    در آموزش هاي موجود در كانال تلگرام. اقدام به نامگذاري رجيسترهاي پورت b كرده ايد.
    اگر از پايه هاي يك پورت براي مقاصد مختلف استفاده شود به نظرم اين روش سمبليك كردن رجيسترها به خوانايي كد كمكي نمي كند.
    آيا بهتر نيست با نام خود رجيسترها كار كنيم و تنها شماره پايه ها را بنا بر استفاده خود ديفاين كنيم؟
    upload_2018-11-10_12-24-53.png

    پیوست ها:

  3. Alma

    Alma مدیر عضو کادر مدیریت

    با سلام
    خوب فکر میکنم اسم مخصوص داشتن خیلی خواناتر از استفاده از اسم خود پین باشه در صورت استفاده از مقاصد مختلف هم میتونید برای هر پین اسمهای مختلفی تعریف کنید
    این نکته رو هم در نظر داشته باشید که وقتی مدت زیادی از نوشتن برنامه گذشته باشه و کد رو فراموش کرده باشید یا باید برای هر خط کامنت مناسب نوشته باشید یا با توجه به انتخاب مناسب دیفاین ها و متغیر ها میتونید به سرعت با کد هماهنگ بشید

    البته این مورد هم بستگی به برنامه نویس داره و سلایق شخصی ایشون
    نکته دیگه اینکه این پیج فقط برای مطرح کرذن سوالات در خصوص ادیتور ایجاد شده پس بهتره این سوالات رو در پیج دیگه ای مطرح میکردید
    karabakh_leaks از این پست تشکر کرده است.
  4. karabakh_leaks

    karabakh_leaks همکار جدید

    سلام
    حتما ازین به بعد سوالات مربوط به زبان c رو جای دیگه مطرح میکنم.
    سوال :
    آیا با ادیتور embitz میشه میکرو رو پروگرام کرد؟ منوی این کار کجاست؟
  5. Alma

    Alma مدیر عضو کادر مدیریت

    بله میشه
    به دو روش

    اول با استفاده از قابلیت دیباگ که در این صورت میکرو ابتدا پروگرام میشه و بعد به صورت اتوماتیک میکرو به حالت دیباگ میره
    البته قبلش باید تنظیمات لازم جهت شناسایی پروگرامر انجام شده باشه
    upload_2018-12-6_13-33-15.png

    اما روش دوم استفاده از کد های خط فرمان پروگرامر و استفاده از قابلیت tools در این ادیتور هست
    برای این کار باید از طریق منوی Tools به صورت دستی پروگرامر رو به ادیتور شناسایی کرده و دستورات پروگرام رو در قسمت مربوطه وارد کنید
    برای مثال برای پروگرامر ST-Link باید تنظیمات به این صورت انجام بشه

    upload_2018-12-6_13-38-22.png

    کد:
    ST-LINK
    C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Utility\ST-LINK_CLI.exe
    -c SWD -p "${TARGET_OUTPUT_DIR}${TARGET_OUTPUT_BASENAME}.hex" 0x08000000 -Q -V -Rst -Run Exit
    ${PROJECT_DIR}
    upload_2018-12-6_13-40-28.png

    بعد از انجام تنظیمات فوق به منوی Tools یک منوی دیگه اضافه خواهد شد

    upload_2018-12-6_13-42-24.png


    برای راحتی کار میتونید برای این قابلیت شورت کی هم تعریف کنید
    برای این کار از منوی settings منوی editor رو انتخاب کنید و با توجه به تصویر زیر منوی مورد نظر رو انتخاب و شورت کی مناسب رو تنظیم کنید

    upload_2018-12-6_13-45-20.png
  6. mohammad_azizi

    mohammad_azizi همکار

    من یه کتابخانه به فایل اضافه کردم و ارور داد که باید زبان c شما c98 است که باید به c11 ارتقا بدی چطور این کار رو انجام بدم
  7. mohammad_azizi

    mohammad_azizi همکار

    قبل از این که کسی بگه خودم بگم
    رفتم دنبالش پیدا کردم
    upload_2019-1-23_21-25-4.png

    build options

    رو بزنید

    upload_2019-1-23_21-26-38.png

    اونجا که آبی نوشتم اینه std=c11-
    به امید دیدار

    پیوست ها:

    Alma از این پست تشکر کرده است.
  8. Alma

    Alma مدیر عضو کادر مدیریت


    با تشکر عالی بود !!!!
    بله ورژن C11 قابلیت های بیشتری داره
    برای مثال میتونید داخل حلقه های فور هم متغیر تعریف کنید و ...
    کد:
    for(uint16_t i=0; i<10; i++)
    حتما این قابلیت رو در ورژن های اینده فایل فیکس اضافه میکنم
  9. mohammad_azizi

    mohammad_azizi همکار

    اگه بخواهیم در این کامپایلر کتابخانه ها را ببینیم چه راهی وجود دارد
    الان من برای کاری نیاز به i2c دارم که در اینترنت در ادیتور های GCC دستور #include <compat/twi.h> را تعریف کرده اند پیدا کرده ام اما من نتوانسته ام کار بگیرم و ارور میداد
    برای کارهای بعدی دیگه مشکل بر نخوریم
    آخرین ویرایش: ‏28/1/19
  10. mohammad_azizi

    mohammad_azizi همکار

    ما چطور کد زبان سی رو تو متن ها بزاریم هر کاری میکنم نمیشه
  11. Alma

    Alma مدیر عضو کادر مدیریت

    هر جفت سوالات شما مبهم هست من اصلا متوجه منظورتون نشدم میشه بیشتر و دقیقتر توضیح بدید
    نمونه کد بدید یا کل پروژه رو اپلود کنید دقیقا بفرمایید مشکل چیه ؟؟؟
    برای استفاده از هر کتابخونه ای نیاز هست که دقیقا روش استفاده اونو بدونید
    در ضمن i2c هم خیلی پروتوکل سخت و نامفهومی نیست که بخواید براش دنبال کتابخونه بگردید خودتون هم میتونید به راحتی براش کد بنویسید و کتابخونه بسازید
  12. mohammad_azizi

    mohammad_azizi همکار

    من می خواستم تو انجمن یعنی همین صفحه که دارم متن می نویسم کد زبان سی رو بزارم نتونستم چطور این کار رو انجام بدم
  13. Alma

    Alma مدیر عضو کادر مدیریت

    با استفاده از ابزار درج... میتونیدکد رو وارد متن کنی

    upload_2019-1-29_12-49-39.png

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

    upload_2019-1-29_12-51-58.png
  14. mohammad_azizi

    mohammad_azizi همکار

    فایلی که با اون بشه برنامه رو باز کرد چطوری میشه پیدا کرد یا من موقع ذخیره سازی باید یه تیک رو میزدم که نزدم مثلا فایل آلتیوم رو بزنم نرم افزار آلتیوم اون برنامه رو باز میکنه و اتمل استودیم هم همین طور
  15. Alma

    Alma مدیر عضو کادر مدیریت

    این سوالات شما اصلا ربطی به این پیج نداره
    سوالات رو در جای مناسب بپرسید

    روی فایل راست کلیک کن و گزینه open with رو بزن و برنامه ای که مییخوایی رو انتخاب کن
    در ضمن اگر توی ایست نیست گزینه اخر رو انتخاب کن و توی پنجره باز شده برنامه مورد نظر رو پیدا کن
    میتونی توی این پنجره اون تیک انتهای پنجره رو بزنی تا همیشه با این برنامه باز بشه
  16. mohammad_azizi

    mohammad_azizi همکار

    این ارور منظورش چیه در حالی که من فایل هدر رو اینکلود کرده بودم

    Capture_2019_02_11_18_44_40_935.jpg

    Capture_2019_02_11_18_48_53_467.jpg
  17. Alma

    Alma مدیر عضو کادر مدیریت

    خوب خطا که مشخصه و توضیح کامل داره
    نوشته فایل فلان که شما توی پروژه اد کردی وجود نداره
    این مشکل وقتی پیش میاد که شما پروشه لایبری کامپایلر رو درست انتخاب نکرده باشی
    احتمالا میکرو AVR هست و باید این کارو دستی انجام بدید قبلا در پست های اموزش اضافه کردن کامپایلر AVR کاملا توضیح داده شده
  18. mohammad_azizi

    mohammad_azizi همکار

    Capture_2019_02_11_19_43_59_22.jpg

    بعد از این که مطلب رو نوشتم برنامه رو بستم دوباره باز کردم همه چی درست شد چرا نمی دونم

به اشتراک بگذارید