ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 12
  1. #1
    2014/01/21
    169
    8

    Question رجیستر PINCON->PINSEL در LPC1768

    سلام دوستان
    من طریقه ی کار با این رجیستر رو به مقدار خیلی کم در حد اینکه بدونم PINSEL0 باشه یا 1 یا ...رو فهمیدم

    دلیل: ادغام دو پست برای جلوگیری از اسپم

    دیدم بعضی ها این طوری مینویسن مثلا
    LPC_PINCON->PINSEL0 |=(3<<30);
    یا مثلا اینجوری
    LPC_PINCON->PINSEL1 |=(0xf<<2);
    من این قسمت های آخر رو نفهمیدم تا حدودی . در بعضی جا ها دیدم که اون قسمت آخر رو نمینویسن و فقط یه عدد مینویسن
    البته یه جدول مخصوص داره که اونم یه نگاهی کردم
    اگه میشه یه توضیح بدید و منو رها کنید
    تشکر
    ویرایش توسط Ramin1768 : 2016/07/08 در ساعت 00:45
  2. #2
    2013/09/03
    1,984
    648

    پاسخ : رجیستر PINCON->PINSEL در LPC1768

    سلام
    پاسخ شما در پست زیر نوشته شده است:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



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

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  3. #3
    2014/01/21
    169
    8

    پاسخ : رجیستر PINCON->PINSEL در LPC1768

    سلام
    ممنون از پاسخ تون
    بله شیوه ی نوشتن مقدار در رجیستر ها رو بلدم اما یه جدول که واسه PINSELهست رو نفهمیدم که مثلا کانال ADC ۷ که میشه P0.2 رو از PIO به ADC که فکر میکنم وظیفه ی سوم اون پایه میشه رو تبدیل کنم من هر کاری کردم نشد
    اگه میشه یه توضیحی تو نوشتنش بدید که ببینم مشکلش کجاست
  4. #4
    2013/09/03
    1,984
    648

    پاسخ : رجیستر PINCON->PINSEL در LPC1768

    خواهش مکینم

    ببینید مثلا قراره P0.2 رو تغییر کاربری بدید و AD0.7 رو بهش متصل کنید.
    خب با نگاه به جدول متوجه میشیم که باید بیت های 5 و 4 رو تغییر بدیم.(داخل پرانتز عرض کنم که بیت 5 یعنی بیت شماره ششم از سمت راست.چون که شروع شمارش از 0 هست نام بیت ها رو به این صورت هم بیان میکنند:بیت0 یا بیت 1 یا بیت 5 یا ...)

    طبق جدول باید بیت 5 مقدار 1 و بیت 4 مقدار 0 داشته باشه.
    خب پس میتونیم به این صورت مقدار دهی کنیم:


    LPC_PINCON->PINSEL0=(1<<5);


    الان رجیستر PINSEL0 از منظر باینری به این صورت هست:


    PINSEL0=0B00000000000000000000000000100000;


    دقت کنید که اگر قرار هست مقدار یک رجیستر رو آپدیت کنید و مایلید که بیتهای دیگرش تغییر نکنند باید حتما مقدار مدنظرتون رو با اون رجیستر OR بیتی کنید.به این صورت:


    LPC_PINCON->PINSEL0=|(1<<5);


    خب کاری که کردیم این بود که عدد 1 رو 5بار به سمت چپ شیفت دادیم و سپس از عدد حاصل برای مقدار دهی یک رجیستر استفاده کردیم(در حالت اول مقدارش رو درون رجیستر ریختیم و در حالت دوم مقدار رجیستر رو با عدد جدید آپدیت کردیم)


    (1<<5)=0B10000
    قانون سوم نیوتون میگه برای اینکه بخوای به چیزی برسی باید از یه چیزی دل بکنی...

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  5. #5
    2014/01/21
    169
    8

    پاسخ : رجیستر PINCON->PINSEL در LPC1768

    سلام .واقعا ممنون. خیلی کمک کرد .پس بیت 4 رو تغییرش نمیدیم و بیت 5 رو 1 میکنیم ؟همیشه اون عدد بزرگ ه رو تغییر میدیم؟و یه سوال دیگه این که من الان این تغییر رو تو برنامم دادم و adc فعال شد حالا اگه بخوام txd0 که وظیفه دوم اون پایه هست ش بکنم باید چیکار کنم؟ممنون
  6. #6
    2013/09/03
    1,984
    648

    پاسخ : رجیستر PINCON->PINSEL در LPC1768

    نقل قول نوشته اصلی توسط Ramin1768

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام .واقعا ممنون. خیلی کمک کرد .پس بیت 4 رو تغییرش نمیدیم و بیت 5 رو 1 میکنیم ؟همیشه اون عدد بزرگ ه رو تغییر میدیم؟و یه سوال دیگه این که من الان این تغییر رو تو برنامم دادم و adc فعال شد حالا اگه بخوام txd0 که وظیفه دوم اون پایه هست ش بکنم باید چیکار کنم؟ممنون
    نه ببینید شما باید مقدار رو از جدول بخونید.جدول زیر رو ببینید:




    همونطور که میبینید برای P0.2 نوشته 5:4 ...معنیش این هست که بیت های 5 و 4 باید برای کاربری مدنظرتون تغییر بدید...حالا اون بالای جدول رو ببنید ...یه جا نوشته Function when 00 کنارش نوشته Function when 01 و به همین ترتیب..یعنی شما برای متصل کردن AD0.7 باید از Function when 10 استفاده کنید....یعنی چی؟



    10->5:4


    یعنی مقدار 10 رو روی بیت 5 و 4 قرار بدید.یعنی بیت 5 مقدار 1 و بیت 4 مقدار 0 داشته باشه....از اونجایی ه در سمت راست مقدار دیفالت بیت ها رو 0 در نظر گرفته یعنی شما کافیه تنها بیتهایی رو بنویسید که باید مقدار 1 داشته باشند..

    حالا اگر بخواهید TXD0 رو متصل کنید باید از function when 01 استفاده کنید.یعنی به صورت زیر:


    LPC_PINCON->PINSEL0=(1<<4);


    حالا فرض کنید که MAT2.0 را میخواهید به P0.6 متصل کنید.باید از function when 11 استفاده کنید...یعنی باید بیت های 13:12 مقدار 1 بگیرند...به صورت زیر:


    LPC_PINCON->PINSEL0=(3<<13);


    در بالا عدد 11 باینری که معادل 3 دسیمال هست رو 13 بار به سمت چپ شیفت دادیم...نتیجه این میشه که عدد 11 باینری در خونه های 13 و 12 رجیستر مذکور قرار میگیره...
    قانون سوم نیوتون میگه برای اینکه بخوای به چیزی برسی باید از یه چیزی دل بکنی...

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  7. #7
    2014/01/21
    169
    8

    پاسخ : رجیستر PINCON->PINSEL در LPC1768

    آهان
    حالا فهمیدم
    خیلی ممنون . خیلی بهم کمک کرد
    حالا یه سوال خارج از بحث
    من خواستم دو کانال 6و7 adc رو با کتابخانه ی cmsis راه بندازم . هر کاری کردم نشد دو تا رو با هم بخونم فقط کانال 6 خونده میشد . مشکل دست چی میتونه باشه؟
  8. #8
    2013/09/03
    1,984
    648

    پاسخ : رجیستر PINCON->PINSEL در LPC1768

    خیلی خوبه
    خواهش مکینم
    متاسفانه با CMSIS کار نکردم...منتظر پاسخ دوستان دیگه باشید...
    قانون سوم نیوتون میگه برای اینکه بخوای به چیزی برسی باید از یه چیزی دل بکنی...

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  9. #9
    2014/01/21
    169
    8

    پاسخ : رجیستر PINCON->PINSEL در LPC1768

    به نظر شما cmsis سخت تره یا رجیستر؟
  10. #10
    2013/09/03
    1,984
    648

    پاسخ : رجیستر PINCON->PINSEL در LPC1768

    خب مسلما CMSIS برای این طراحی شد که سرو کله زدن با رجیسترها کم بشه و بشه خیلی راحت با انواع میکروکنترلرها کار کرد...
    به همین خاطر باید آسونتر باشه ولی من کار کردن با رجیستر ها رو ترجیح میدم
    قانون سوم نیوتون میگه برای اینکه بخوای به چیزی برسی باید از یه چیزی دل بکنی...

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 12

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

  1. پاسخ: 2
    آخرين نوشته: 2015/10/19, 16:19
  2. رجیستر EMR
    توسط hasan_karsedighi در انجمن NXP
    پاسخ: 1
    آخرين نوشته: 2015/09/07, 22:52
  3. ویزاردی برای PINSEL LPc1768
    توسط n340 در انجمن NXP
    پاسخ: 1
    آخرين نوشته: 2014/11/14, 23:12
  4. رجیستر ها
    توسط armiin در انجمن میکروکنترلرهای PIC
    پاسخ: 1
    آخرين نوشته: 2010/11/22, 08:04
  5. محل سی و دو رجیستر AVR
    توسط nasri_me در انجمن میکروکنترلرهای AVR
    پاسخ: 2
    آخرين نوشته: 2008/01/15, 02:51

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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