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





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









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





صفحه 1 از 4 1234 آخرین
  1. #1
    تاریخ عضویت
    2009/05/15
    766
    19

    کمک : کار با پورت

    سلام به همه..... :nice: :nice:

    آقا من ARM رو تازه شورع کردم و فعلا هم رو LPC2103 اونم تو پروئوس کار میکنم (پول ندارم برم خودش رو بخرم :biggrin
    AVR هم کار کردم و مشکلی تو کار با AVR ندارم ( منظورم اینه پیش زمینه برای کار با میکرو تا حدودی دارم)

    حالا یه چند تا سوال ساده دارم
    تمام این سوال هام مربوط به LPC2103 میشه

    int i=0

    ++i) چه طوری یه پورت یا پین رو ورودی یا خروجی کنم ( تو AVR با ورودی کردن پورت حالت "های امپدانس" برای اون پورت وجود داشت و منم همین رو میخوام برای ARM)
    ++i) چه طوری میشه مقدار یه پورت رو خودند
    ++i) چه مقدار یه پین رو بخونم
    ++i)چه طوری یه پین یا کل یه پورت رو میتونم Pullup داخلی ش رو فعال کنم ( فعلا برای گذاشتن کلید می خوام)


    بعد من یه جایی شندیم که میشه مثلا پورت های یک ARM رو که 32 بیتی هست رو میشه مثلا به 4 تا پورت 8 بیتی تبدیل کرد درسته؟ اگه اره چه طوری
    والا تو دیتا شیت IOPIN و IODIR رو دیدم ولی نهمیدم برای چی هست که IOPIN برای خوندن اگه اشتباه نکنم

    خیلی ممنون
    • تبلیغات
      .

  2. #2
    تاریخ عضویت
    2007/08/04
    اصفهان
    577
    5

    پاسخ : کمک : کار با پورت

    اگه یه سرچ کوچولو بکنید یه چیزایی پیدا می کنید
    در این لینک GPIO را بخونید:
    http://www.eca.ir/forum2/index.php?topic=41142.0
    http://www.iranmicro.ir/forum/showpost.php?p=23391&postcount=4
    و
    http://www.iranmicro.ir/forum/showthread.php?t=5093
    و ....
    فيلم آموزشي ميکروکنترلر LPC1768
    فيلم آموزشي تکميلي و پيشرفته ميکروکنترلر LPC1768
    فيلم آموزش کاربردی زبان سی در میکروکنترلر ARM
    فیلم آموزش مقدماتی میکروکنترلر LPC1788 به زودی ...
  3. #3
    تاریخ عضویت
    2011/06/20
    تهران
    93
    0

    پاسخ : کمک : کار با پورت

    نقل قول نوشته اصلی توسط vahidsport
    سلام به همه..... :nice: :nice:

    آقا من ARM رو تازه شورع کردم و فعلا هم رو LPC2103 اونم تو پروئوس کار میکنم (پول ندارم برم خودش رو بخرم :biggrin
    AVR هم کار کردم و مشکلی تو کار با AVR ندارم ( منظورم اینه پیش زمینه برای کار با میکرو تا حدودی دارم)

    حالا یه چند تا سوال ساده دارم
    تمام این سوال هام مربوط به LPC2103 میشه

    int i=0

    ++i) چه طوری یه پورت یا پین رو ورودی یا خروجی کنم ( تو AVR با ورودی کردن پورت حالت "های امپدانس" برای اون پورت وجود داشت و منم همین رو میخوام برای ARM)
    ++i) چه طوری میشه مقدار یه پورت رو خودند
    ++i) چه مقدار یه پین رو بخونم
    ++i)چه طوری یه پین یا کل یه پورت رو میتونم Pullup داخلی ش رو فعال کنم ( فعلا برای گذاشتن کلید می خوام)


    بعد من یه جایی شندیم که میشه مثلا پورت های یک ARM رو که 32 بیتی هست رو میشه مثلا به 4 تا پورت 8 بیتی تبدیل کرد درسته؟ اگه اره چه طوری
    والا تو دیتا شیت IOPIN و IODIR رو دیدم ولی نهمیدم برای چی هست که IOPIN برای خوندن اگه اشتباه نکنم

    خیلی ممنون
    سلام
    برای ورودی خروجی کردن باید از IODIR استفاده کنی هر کدوم رو که یک کنی اون خروجی می شه بقیه هم ورودی
    مثل : پین 0 از پورت 1 رو خروجی کنید IODIR1=1
    برای خوندن یک پورت از دستور IOPIN استفاده می شود
    مثل: پورت صفر رو بخونید IOPIN0
    IOSET برای 1 کردن پین ها هست
    IOCLR برای صفر کردن پین ها هست
    اون حالت که گفتید می شه به چند بخش تقسیم کرد رو تو سری 23 بلدم اما تو این سری نمی دونم (فکر نکنم برای این سری هم باشه )
    برای PULL_UP هم فکر نکنم داشته باشه برای سری 23 به بالا داره
    اول برنامه هم LPC21XX رو include کن

    موفق باشی
    کاری ندارم این وری هستی یا اون وری چپی یا راست
    همیشه ایرانی باش و به ایرانی بودنت افتخار کن
    ایران و هیچ وقت تنها نزار
    اگه خدا رو قبول داری اجرت با خدا
  4. #4
    تاریخ عضویت
    2009/05/15
    766
    19

    پاسخ : کمک : کار با پورت

    آقا ممنون ....

    فقط نمیتونم از IOPIN استفاده کنم

    تو برنامه مینویستم مثلا
    k=IOPIN0
    if ((k & 0x80000000)==0) IOSET0=0xff


    بعد پین 31 (اخرین پین پورت) رو با مقاومت پول اپ کردم و بعد به یه کلید وصل کردم

    و این if هم وقتی باید اجرا بشه که کلید به زمین بخوره
    ولی جواب نمیده تو AVR همین کار رو میکردم ولی کد هاش فرق میکرد
    چی کار کنم برای گذاشتن یک کلید چی کار میکنید

    راهی داره تا مستقیم با یک پین دست رسی داشته باشم حالا چه برای خوندن اون پین یا مقدار دادن یا ورودی خروجی تعیین کردن

    بعد متغییر int تو Keil چند بیتی هست؟ oo:
  5. #5
    تاریخ عضویت
    2011/06/20
    تهران
    93
    0

    پاسخ : کمک : کار با پورت

    نقل قول نوشته اصلی توسط vahidsport
    آقا ممنون ....

    فقط نمیتونم از IOPIN استفاده کنم

    تو برنامه مینویستم مثلا
    k=IOPIN0
    if ((k & 0x80000000)==0) IOSET0=0xff


    بعد پین 31 (اخرین پین پورت) رو با مقاومت پول اپ کردم و بعد به یه کلید وصل کردم

    و این if هم وقتی باید اجرا بشه که کلید به زمین بخوره
    ولی جواب نمیده تو AVR همین کار رو میکردم ولی کد هاش فرق میکرد
    چی کار کنم برای گذاشتن یک کلید چی کار میکنید

    راهی داره تا مستقیم با یک پین دست رسی داشته باشم حالا چه برای خوندن اون پین یا مقدار دادن یا ورودی خروجی تعیین کردن

    بعد متغییر int تو Keil چند بیتی هست؟ oo:
    سلام
    #include <lpc21xx.h>

    int main(){
    IODIR0=0XFF;
    IOSET0=0XFF;
    while(1){
    if((IOPIN0&(1<<31))==0){
    if((IOPIN0&0XFF)==0XFF)IOCLR0=0XFF;
    else IOSET0=0XFF;
    while((IOPIN0&(1<<31))==0);
    }

    }
    }
    برنامه ای که گفتی این می شه
    هر وقت کلید فشرده می شود اون خروجی ها NOT می شوند و ...
    این برنامه رو با پروتئوس ببند
    int متغیر 32 بیتی است
    کاری ندارم این وری هستی یا اون وری چپی یا راست
    همیشه ایرانی باش و به ایرانی بودنت افتخار کن
    ایران و هیچ وقت تنها نزار
    اگه خدا رو قبول داری اجرت با خدا
  6. #6
    تاریخ عضویت
    2009/05/15
    766
    19

    پاسخ : کمک : کار با پورت

    آقا خیلی ممنون کارم راه افتاد فقط....
    من دارم یه برنامه ای مینویسم که تو ال سی دی گرافیک و چند قطعه دیگر تو استفاده می خوام بکنم در حال حاضر هم این کار رو با ارم NXP2103 دارم انجام میدم بعد ها میتونم این برنامه که رو ارم NXP2103 نوشته شده رو ببرم رو یه ارم دیگه ؟حالا می خواد فیلیپس باشه یا اتمل؟ اصلا این کار شدنی هست؟ برای اینکه بتونم این کار رو بکنم چی کار باید بکنم یا به مشکل بر نخورم

    تو AVR میشد
  7. #7
    تاریخ عضویت
    2011/06/20
    تهران
    93
    0

    پاسخ : کمک : کار با پورت

    نقل قول نوشته اصلی توسط vahidsport
    آقا خیلی ممنون کارم راه افتاد فقط....
    من دارم یه برنامه ای مینویسم که تو ال سی دی گرافیک و چند قطعه دیگر تو استفاده می خوام بکنم در حال حاضر هم این کار رو با ارم NXP2103 دارم انجام میدم بعد ها میتونم این برنامه که رو ارم NXP2103 نوشته شده رو ببرم رو یه ارم دیگه ؟حالا می خواد فیلیپس باشه یا اتمل؟ اصلا این کار شدنی هست؟ برای اینکه بتونم این کار رو بکنم چی کار باید بکنم یا به مشکل بر نخورم

    تو AVR میشد
    سلام
    سلام در nxp با تغییرات کوچک مثلا می توان در سری lpc23xx استفاده کرد
    و نکته دیگه این است که از چه واحد های این میکرو استفاده می کنید
    مثلا اگر usart باشه یکی است اما در اینتراپت یک تغییر کوچک باید بدی و ....

    در مورد اتمل تغییرات بیشتر خواهد بود و کلا نام ریجستر ها در اتمل با فیلیپس فرق دارد
    در مودر nxp که در بالا هم اشاره کردم ،به طور ساده بگم مثل این میمونه که یک برنامه که برای مگا 16 نوشتی رو حالا بیای روی مثلا مگا 1280 پیاده کنی
    و در کل می توان با تغییراتی در تمامی سری های آرم استفاده کرد فقط نکته این است که به زبان c نوشته شود

    موفق باشی

    کاری ندارم این وری هستی یا اون وری چپی یا راست
    همیشه ایرانی باش و به ایرانی بودنت افتخار کن
    ایران و هیچ وقت تنها نزار
    اگه خدا رو قبول داری اجرت با خدا
  8. #8
    تاریخ عضویت
    2009/05/15
    766
    19

    پاسخ : کمک : کار با پورت

    آقا ببخشید من زیاد سوال می پرسم و دستتون هم درد نکنه بابت جواب ها خیلی خیلی ممنون
    آقا من می خام وقفه Overflow تایمر یک رو راه بندازم فقط نمیدونم این تابعی که مربوط به اینترانت ش هست و باید قبل مین نوشته بشه اسمش چیه چه طوری باید مشخص کنم که این تابع مربوط به وقفه اورفلو تایمر 0 هست
    منظورم هم از overflow اینه مقدار مثلا رجیستر MR0R با مقدار تایمر کانتر برابر شده کلا می خوام تابع وقفه MR0R رو بنویسم ولی نمیدونم چه طوری مشخص کنم که این تابع مربوط میشه وقفه MR0R

    نمیدوم منظورم رسوندم یا نه
    ببخشید
  9. #9
    تاریخ عضویت
    2011/06/20
    تهران
    93
    0

    پاسخ : کمک : کار با پورت

    نقل قول نوشته اصلی توسط vahidsport
    آقا ببخشید من زیاد سوال می پرسم و دستتون هم درد نکنه بابت جواب ها خیلی خیلی ممنون
    آقا من می خام وقفه Overflow تایمر یک رو راه بندازم فقط نمیدونم این تابعی که مربوط به اینترانت ش هست و باید قبل مین نوشته بشه اسمش چیه چه طوری باید مشخص کنم که این تابع مربوط به وقفه اورفلو تایمر 0 هست
    منظورم هم از overflow اینه مقدار مثلا رجیستر MR0R با مقدار تایمر کانتر برابر شده کلا می خوام تابع وقفه MR0R رو بنویسم ولی نمیدونم چه طوری مشخص کنم که این تابع مربوط میشه وقفه MR0R

    نمیدوم منظورم رسوندم یا نه
    ببخشید
    سلام
    خواهش می کنم خوب برای این کار اول باید بخش اینتراپت user manual رو مطالعه کنی و بعد همین تایمری که گفتی
    مثلا می خوای یک تابع اینتراپت برای تایمر یک تعریف کنی
    VICVectAddr5=(unsigned) timer11;
    در خط بالا ، تابعی که در بالا مین با نام time11 قرار دادی به تابع اینتراپت تایمر یک اختصاص داده می شود (آدرس تابع رو مشخص کنیم) البته خط بالا باید در مین قرار گیرد و...
    تابع رو به صورت زیر تعریف می کنیم (در بالا مین)
    البته اگر تابع رو در اول برنامه معرفی کنیم دیگر بالا و پایین بودنش مهم نیست
    void time11(void){__irq

    .
    .
    .
    .
    .
    }

    موفق باشید


    کاری ندارم این وری هستی یا اون وری چپی یا راست
    همیشه ایرانی باش و به ایرانی بودنت افتخار کن
    ایران و هیچ وقت تنها نزار
    اگه خدا رو قبول داری اجرت با خدا
  10. #10
    تاریخ عضویت
    2009/05/15
    766
    19

    پاسخ : کمک : کار با پورت

    سلام

    آقا شما user manual در کجا رو میگی Help کیل یا دیتا شیت؟ کلمه interrupt رو تو Help کیل سرچ کردن ولی چیزی پیدا نکردم

    Help کیل اصلا از ش سردر نمیام تا حالا هیچیز مفید از تو ش پیدا نکردم بر عکس Help کدویژن خیلی راحت و همه چی سر جای خودش بود
صفحه 1 از 4 1234 آخرین
نمایش نتایج: از 1 به 10 از 33

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

  1. ارسال داده باینری از طریق پورت سریال بر روی پورت میکرو
    توسط Soheilas در انجمن میکروکنترلرهای AVR
    پاسخ: 48
    آخرين نوشته: 2014/10/25, 15:52
  2. کم بودن ولتاژ خروجی پورت a در at mega32 هنگام استفاده همزمان از 4 پورت
    توسط masoud.moghaddam21 در انجمن میکروکنترلرهای AVR
    پاسخ: 17
    آخرين نوشته: 2014/04/22, 22:50
  3. مبدل پورت سریال به پورت موازی (serial to parallel)
    توسط mjs1990s در انجمن پروژه ها و مقالات تكميل شده AVR
    پاسخ: 3
    آخرين نوشته: 2014/03/25, 22:39
  4. پاسخ: 4
    آخرين نوشته: 2010/03/26, 11:37
  5. پاسخ: 6
    آخرين نوشته: 2009/12/09, 15:47

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

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

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

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