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





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









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





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

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 15
  1. #1
    2008/02/28
    تبريز
    280
    11

    برنامه های نمونه بر مبنای CMSIS

    کامپایلر استفاده شده برای پروژه ها Keil MDK 4.22a هست.این ورژن که آخرین ورژن هست رو میتونین از لینک زیر دانلود کنین . قبل دانلود فرم رو پر کنین و اگه سریال خواست با Keygen ورژنهای قبلی یه سریال درست کنین .
    https://www.keil.com/demo/eval/arm.htm
    شرکت NXP برای راه اندازی اکثر بخش های میکرو مثل GPIO ، UART و .. فایلهای درایور ارائه کرده که مبنای کار ما هم بر اساس این فایل ها خواهد بود.
    فایلهای درایور ضمیمه شده رو باید پس از دانلود در مسیر زیر قرار گیرن :
    Keil drive:\Keil\ARM\INC\NXP\LPC17xx
    فايل هاي پيوست شده فايل هاي پيوست شده
  2. #2
    2008/02/28
    تبريز
    280
    11

    ECA-01] GPIO sample]

    راه اندازی GPIO با استفاده از CMSIS و درایور lpc17xx_gpio

    درایور lpc17xx_gpio برای کار با پورتهای ورودی ، خروجی میباشد و شامل توابعی برای تعیین جهت پورتها،خواندن و نوشتن در پورتها و کار با اینتراپتها میباشد که به تدریج معرفی خواهند شد.


    void GPIO_SetDir(uint8_t portNum, uint32_t bitValue, uint8_t dir);

    این تابع برای تعیین جهت پورتها میباشد. میکروکنترلر LPC1768 5 پورت 32 بیتی دارد که البته همه آنها پین فیزیکی ندارند.متغیر ورودی portNum شماره پورت را تعیین میکند. برای مثال 0 برای P0 و 4 برای P4 . متغیر bitValue پینهایی که میخواهیم جهت آنها را تغییر دهیم را مشخص میکند و جهت پینهایی که بیت متناظر با انها یک باشد تغییر خواهد کرد.متغیر dir نیز برای تعیین جهت پورت میباشد. اگر dir یک باشد پین های مشخص شده خروجی و اگر صفر باشد ورودی خواهند شد.


    void GPIO_SetValue(uint8_t portNum, uint32_t bitValue);

    این تابع برای ست کردن ( 1 شدن) پینها میباشد.متغیر portNum شماره پورت میباشد و پینهای متناظر با متغیر bitValue فعال خواهند شد.
    برای مثال برای یک کردن پین P0.21 توابع باید به صورت زیر فراخوانی شوند :

    GPIO_SetDir(0,1<<21,1);
    GPIO_SetValue(0,1<<21);

    در سطر اول پین 21 از پورت P0 خروجی شده و در سطر دوم 1 میشود. در برد LPC1768 devBoard این پین به مبدل 8 به 16 بیتی LCD وصل شده و جهت این مبدل را تعیین میکند . چون پینهای LCD و LED های روی برد یکی میباشد برای کار با LED هاحتما باید این پین 1 شود تا مبدل در حالت خروجی قرار گیرد.


    void GPIO_ClearValue(uint8_t portNum, uint32_t bitValue);

    این تابع نیز برای ریست کردن (0 کردن) پینها میباشد و پینهایی که بیت متناظر با آنها در متغیر bitValue یک باشد ریست خواهند شد.

    فایل ضمیمه شده برنامه کامل چشمک زن با LED های روی برد میباشد که از توابع فوق در آن استفاده شده است.
    فايل هاي پيوست شده فايل هاي پيوست شده
  3. #3
    2008/02/28
    تبريز
    280
    11

    ECA-02] GPIO JoyStick]

    راه اندازی JoyStick و نمایش وضعیت آن روی LED ها

    در این پروژه نیز از درایور lpc17xx_gpio.h برای خواندن وضعیت پورت ها و تغییر وضیت LED ها استفاده شده است.
    علاوه بر توابعی که در پست قبلی اشاره شده است تابع زیر نیز برای خواندن وضعیت پورت های ورودی استفاده میشود :

    uint32_t GPIO_ReadValue(uint8_t portNum);

    این تابع شماره پورت را با متغیر ورودی portNum گرفته و وضعیت پین های ورودی را با یک متغیر 32 بیتی باز میگرداند .
    فايل هاي پيوست شده فايل هاي پيوست شده
  4. #4
    2007/04/20
    كره زمين
    1,409
    78

    پاسخ : برنامه های نمونه بر مبنای CMSIS

    سلام
    من میخام UART رو راه بندازم ولی هرچی برسی میکنم نمیدونم چطوری میشه راهنمایم کنید.
    مثلا
    void UART_Init(LPC_UART_TypeDef *UARTx, UART_CFG_Type *UART_ConfigStruct);
    برای ارگومانهای این تابع چی باید بفرستم اخه من 0 و 1 رو فرستادم ارور میده!
    انجام پروژه هاي برنامه نويسي اندرويد
    [glow=red,2,300]نرم افزار نقشه هاي پاور کامپيوتر اندوريد[/glow]

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

    عضویت

  5. #5
    2007/04/20
    كره زمين
    1,409
    78

    پاسخ : برنامه های نمونه بر مبنای CMSIS

    سلام بروبچ

    گفتم شاید یکی مثل من خدا بزنه تو سرش و بخاد با lpc1768 کار کنه و بدتر این که سر کارش بیوفته با eca و مثل من تو کف یاشه!
    این هم فایل راه اندازuart با cmsis
    http://up6.iranblog.com/images/qcl8haczw0136p6o5v35.rar
    انجام پروژه هاي برنامه نويسي اندرويد
    [glow=red,2,300]نرم افزار نقشه هاي پاور کامپيوتر اندوريد[/glow]

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

    عضویت

  6. #6
    2007/07/09
    نصف جهان
    87
    0

    پاسخ : برنامه های نمونه بر مبنای CMSIS

    سلام به همه دوستان
    یه سوال داشتم.میشه راهنمایی کنین بگین این منبع راهنمای درایور چیه ؟ مثلا این تابع void GPIO_SetValue(uint8_t portNum, uint32_t bitValue);
    که اقای جعفر پور گفتن برای کار کردن با i/o هست را از کجا متوجه شدن :read:
    من هر چی اینترنت را زیر رو کردم هیچ فایل راهنمایی پیدا نکردم . گیج شدم به خدا oo: پ

    یا مثلا غیر از این بحث ورودی خروجی اگه کسی بخواد خودش این توابع درایور را ادامه بده سورسش چی هست ؟ از کجا باید بفهمیم برا کار با uart, mmc,.... چه توابعی وجود داره؟؟ ارگومان های اون تابع ها چی هست ؟؟

    با تشکر از دوستان
  7. #7
    2008/12/11
    400
    12

    پاسخ : برنامه های نمونه بر مبنای CMSIS

    نقل قول نوشته اصلی توسط ادیسون کوچووووووووووولو
    سلام به همه دوستان
    یه سوال داشتم.میشه راهنمایی کنین بگین این منبع راهنمای درایور چیه ؟ مثلا این تابع void GPIO_SetValue(uint8_t portNum, uint32_t bitValue);
    که اقای جعفر پور گفتن برای کار کردن با i/o هست را از کجا متوجه شدن :read:
    من هر چی اینترنت را زیر رو کردم هیچ فایل راهنمایی پیدا نکردم . گیج شدم به خدا oo: پ

    یا مثلا غیر از این بحث ورودی خروجی اگه کسی بخواد خودش این توابع درایور را ادامه بده سورسش چی هست ؟ از کجا باید بفهمیم برا کار با uart, mmc,.... چه توابعی وجود داره؟؟ ارگومان های اون تابع ها چی هست ؟؟

    با تشکر از دوستان
    شما از لینک زیر اون چیزی که مربوط به CMSIS هست رو برای lpc1768 می تونی دانلود کنی که شامل درایورها و کورها و مثالها و فایل help میشه که تو اون همه چیز هست .

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

    عضویت

  8. #8
    2011/04/24
    1
    0

    پاسخ : برنامه های نمونه بر مبنای CMSIS

    سلام آقای جعفرپور
    این فایل gpio را که گذاشتید موقع کامپایل error میده...میگه SystemCoreClock تعریف نشده هست...مگه این متغییر از متغییرهای system_LPC17xx.c نیست؟؟ شما هم که همین فایل را داری تو برنامه،پس چرا error میده ؟؟
  9. #9
    2008/05/25
    96
    0

    پاسخ : ECA-01] GPIO sample]

    نقل قول نوشته اصلی توسط رامین جعفرپور
    راه اندازی GPIO با استفاده از CMSIS و درایور lpc17xx_gpio

    درایور lpc17xx_gpio برای کار با پورتهای ورودی ، خروجی میباشد و شامل توابعی برای تعیین جهت پورتها،خواندن و نوشتن در پورتها و کار با اینتراپتها میباشد که به تدریج معرفی خواهند شد.


    void GPIO_SetDir(uint8_t portNum, uint32_t bitValue, uint8_t dir);

    این تابع برای تعیین جهت پورتها میباشد. میکروکنترلر LPC1768 5 پورت 32 بیتی دارد که البته همه آنها پین فیزیکی ندارند.متغیر ورودی portNum شماره پورت را تعیین میکند. برای مثال 0 برای P0 و 4 برای P4 . متغیر bitValue پینهایی که میخواهیم جهت آنها را تغییر دهیم را مشخص میکند و جهت پینهایی که بیت متناظر با انها یک باشد تغییر خواهد کرد.متغیر dir نیز برای تعیین جهت پورت میباشد. اگر dir یک باشد پین های مشخص شده خروجی و اگر صفر باشد ورودی خواهند شد.


    void GPIO_SetValue(uint8_t portNum, uint32_t bitValue);

    این تابع برای ست کردن ( 1 شدن) پینها میباشد.متغیر portNum شماره پورت میباشد و پینهای متناظر با متغیر bitValue فعال خواهند شد.
    برای مثال برای یک کردن پین P0.21 توابع باید به صورت زیر فراخوانی شوند :

    GPIO_SetDir(0,1<<21,1);
    GPIO_SetValue(0,1<<21);

    در سطر اول پین 21 از پورت P0 خروجی شده و در سطر دوم 1 میشود. در برد LPC1768 devBoard این پین به مبدل 8 به 16 بیتی LCD وصل شده و جهت این مبدل را تعیین میکند . چون پینهای LCD و LED های روی برد یکی میباشد برای کار با LED هاحتما باید این پین 1 شود تا مبدل در حالت خروجی قرار گیرد.


    void GPIO_ClearValue(uint8_t portNum, uint32_t bitValue);

    این تابع نیز برای ریست کردن (0 کردن) پینها میباشد و پینهایی که بیت متناظر با آنها در متغیر bitValue یک باشد ریست خواهند شد.

    فایل ضمیمه شده برنامه کامل چشمک زن با LED های روی برد میباشد که از توابع فوق در آن استفاده شده است.
    آقای جعفر پور من وقتی میخوام پورت0.0 رو یک کنم نمیشه ولی وقتی که پورت 0.1 رو یک میکنم هم 0.0 و هم 0.1 با هم یک میشن؟؟؟؟؟؟؟؟

    اینم برنامه

    GPIO_SetDir(0,1<<0,1);
    GPIO_SetDir(0,1<<1,1);
    GPIO_SetDir(0,1<<4,1);
    GPIO_SetDir(0,1<<5,1);

    while (1)
    {
    GPIO_ClearValue(0,1<<0);
    Delay1(1500);
    GPIO_SetValue(0,1<<0);
    Delay1(1500);
    }

    لطفا کمک کنید.
    یا علی گفتیم و عشق آغاز شد.
  10. #10
    2008/11/28
    25
    0

    برنامه7segment بر مبنای CMSIS با gpio

    سلام دوستان
    من یه برنامه 7 segment (آند مشترک) نوشتم که از 0 تا 9 را نشون بده
    بلد نبودم پلود کنم همین جا کپیش میکنم :biggrin:
    کتابخونه gpio هم باید add بشه

    #include "lpc17xx_gpio.h"#
    const unsigned long seg[10] = { 0x03f00000, 0x00600000, 0x05b00000,0x04f00000, 0x06600000,0x06d00000, 0x07d00000, 0x00700000, 0x07f00000, 0x06f00000 };
    char i=0;
    volatile unsigned long SysTickCnt;
    void SysTick_Handler (void);
    void Delay (unsigned long tick);
    void SysTick_Handler (void) {
    SysTickCnt++;
    }
    void Delay (unsigned long tick) {
    unsigned long systickcnt;

    systickcnt = SysTickCnt;
    while ((SysTickCnt - systickcnt) < tick);
    }
    int main(void) {
    SysTick_Config(SystemCoreClock/1000 - 1);

    GPIO_SetDir(1, 0x0ff00000, 1);
    GPIO_SetValue(1, 0x0ff00000);
    while(1){
    for (i=0;i<10;i++) {
    GPIO_SetValue(1, 0x0ff00000);
    GPIO_ClearValue(1, seg[i]);
    Delay(500);
    }
    }
    }
    اگه seven segment شما کاتد مشترک بود کافیه فقط جای set و clearعوض بشه
    راستی من روی برد lpc1768 devboard پین هدر زدم بعد روی برد بورد segment وصل کردم.
    از پینهای 20 تا 27 پورت 1 استفاده کردم.
    کسی کوه بزرگ را جابه جا می کند که شروع به برداشتن سنگریزه ها کند.
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 15

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

  1. پاسخ: 59
    آخرين نوشته: 2019/12/27, 16:02
  2. پاسخ: 55
    آخرين نوشته: 2016/12/04, 15:55
  3. پاسخ: 5
    آخرين نوشته: 2015/07/01, 10:51
  4. پاسخ: 22
    آخرين نوشته: 2015/06/06, 16:56
  5. پاسخ: 1
    آخرين نوشته: 2015/04/09, 21:20

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

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

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

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

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