PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سوال در باره برنامه روشن و خاموش کردن led +عکس



roberty
23-08-2011, 14:14
سلام به همگی

من تو iar میخوام یه برنامه بنویسم که یک led رو روشن و خاموش کنه . این برنامه رو سر کلاس یاد گرفتم ولی الان خودم نمیتونم اجراش کنم.

برای نوشتن این برنامه در محیط iar سه تا فایل بنامهای led.c و led.h و main.c ایجاد کردم کدهای زیر رو در آنها نوشتم:

این برای led.h هست:

#ifndef _LED_H
#define _LED_H
#include <nxp/iolpc2378.h>
#define led_dir FIO3DIR
#define led_set FIO3SET
#define led_clr FIO3CLR
#define led_pin FIO3PIN
#define led1 (1<<6)
void ledinit(void);
void ledon(void);
void ledoff(void);
#endif

اینهم برای led.c


#include "led.h"
void ledon (void)
{
led_set |=led1;
}
void ledoff(void)
{
led_clr |=led1;
}
void ledinit (void)
{
led_dir |=led1;
}


اینهم برای main.c


#include "led.h"
#include <nxp/iolpc2378.h>
#include "target.h"
int main(void)
{
TargetResetInit();
ledinit();
ledoff();
while(1)
{
}

return 0;
}

حالا موقع کامپایل با زدن دکمه F7 این ارور رو میده:

You can see links before reply



یعنی به عبارت targerresetinit گیر میده و ارور میگیره...

چیکار باید بکنم...؟؟ بردم هم lpc2378 هست که همین کویر الکترونیک تولید کرده.

sadmonew
23-08-2011, 16:25
با سلام
شما محتويات فايل هدر "Target.h" رو هم قرار بديد.
ارور مربوط به تابعي ميشه كه احتمالا از اين فايل فراخواني ميشه. و بازم احتمالا چون تو اين فايل تعريف نشده اين ارور رو ميده.

________________________
برنامه نويسي، الكترونيك(PE) (You can see links before reply)
________________________

sadmonew
23-08-2011, 16:39
با سلام مجدد
رفتم فايل هاي كامپايلر IAR رو بررسي كردم. توي مسير زير:
E:\IAR Systems\Embedded Workbench 6.0\arm\examples\NXP\LPC23xx\IAR-LPC-2378-SK\simple\Common\src
فايل "Target.c" رو پيدا كردم. و توي مسير زير هم :
E:\IAR Systems\Embedded Workbench 6.0\arm\examples\NXP\LPC23xx\IAR-LPC-2378-SK\simple\Common\inc
فايل "Target.h" رو پيدا كردم.
بايد اين دو تا فايل رو به مجموعه فايل هاي برنامه اي كه داريد مي نويسيد اضافه كنيد.
احتمالا با اين روش برنامتون بايد بدون مشكل كامپايل شه.

________________________
برنامه نويسي، الكترونيك(PE) (You can see links before reply)
________________________

sadmonew
23-08-2011, 16:59
مشكل حل شد.:018: خودم كامپايل كردم. خيلي سادس. بايد فايل هاي زير رو در مسير برنامه اي كه داريد مي نويسيد كپي كنيد بعد اونارو تو محيط IAR به برنامتون(پروژتون) اضافه كنيد.
اينم ليست فايلا:
target.h و target.c و irq.c و irq.h و type.h.
همه اين فايل هارو ميتونيد از مسيري كه تو پست قبل دادم پيدا كنيد.

________________________
برنامه نويسي، الكترونيك(PE) (You can see links before reply)
________________________

roberty
23-08-2011, 23:15
مشكل حل شد.:018: خودم كامپايل كردم. خيلي سادس. بايد فايل هاي زير رو در مسير برنامه اي كه داريد مي نويسيد كپي كنيد بعد اونارو تو محيط IAR به برنامتون(پروژتون) اضافه كنيد.
اينم ليست فايلا:
target.h و target.c و irq.c و irq.h و type.h.
همه اين فايل هارو ميتونيد از مسيري كه تو پست قبل دادم پيدا كنيد.

________________________
برنامه نويسي، الكترونيك(PE) (You can see links before reply)
________________________

ممنون از توضیحت ...

برنامه برای من هم راه افتاد فقط نمیدونم اون فایل با پسوند bin که باید رو برد منتقلش کنم تو چه فولدری هست.

من برنامه ام رو تو فولدری در desktop/user/arm سیو کرده بودم حالا هرچی میگردم فایل رو پیدا نمیکنم... آخه تازه کار هستم و این اولین برنامه ی من هست...!!lov:


استادمون بما گفت تو برد lpc2378 یه فایل به اسم firmware.bin هست که برای اجرای برنامه باید فایل led.bin رو جایگزین این فایل بکنیم ولی من پیداش نمیکنم.

sadmonew
24-08-2011, 00:28
با سلام
براي داشتن خروجي با پسوند bin به صورت زير عمل كن: تو محيط IAR
Project-->Options-->Output converter
اگه تيك قسمت Generate additional output نخورده. تيكشو بزن.
تو منوي كشويي زير output format گزينه binary رو انتخاب كن. بعدش روي دكمه OK كليك كن. حالا دوباره پروژتو كامپايل كن.

________________________
برنامه نويسي، الكترونيك(PE) (You can see links before reply)
________________________