PDA

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



MEYSAMHL
01-04-2010, 17:43
سلام
من از امروز برد اموزشی ارم رو از جعبه در اوردم(خیلی وقته خریدمش) و شروع کردم به خوندن هر 8 مجله ومراحل را انجام میدم
اما یه مشکلی پیش اومده....من می خوام برنامه چشمک زن رو انجام بدم ولی زمانی که کامپایل میکنم این پیام میاد
به عکس نگاه کنید .

File #1: You can see links before reply

مشکل چیه ؟

ان شاالله با کمک شما تا اخر شو به خوبی یاد میگیرم ...مخصوصا بخش هدر .....خیلی در گیرشم.... با تشکر

1nafar
01-04-2010, 18:40
سلام
هیچ مشکلی وجود نداره ، این فایل رو در مسیر زیر به جای پوشه اتمل قرار بدید :
\ARM\INC
[لینک اصلی 1 :
You can see links before reply
لینک کمکی :
You can see links before reply

فایل رو unzip کنید و بعد جایگزین پوشه هم نام کنید .
اطلاعات بیشتر :


You can see links before replyدانلود-نرم-افزار-keil-4-01-و-keil-4-1-ورژن-پرتابل-و-کت-64.html

aliimani
16-04-2010, 19:41
اقا کسی میدونه چی جوری میشه این مشکل و حل کرد . ممنون
ffffff.axf: Warning: L6665W: Neither Lib$$Request$$armlib Lib$$Request$$cpplib defined, not searching ARM libraries.
ffffff.axf: Error: L6411W: No compatible library exists with a definition of startup symbol __main.

1nafar
17-04-2010, 10:12
سلام
شما توی برنامه از یک دستور یا یک کتابخانه ای استفاده کردید که وجود خارجی نداره . برنامتون رو بزارید تا اشکالش رو پیدا کنیم

aliimani
17-04-2010, 11:02
سلام
شما توی برنامه از یک دستور یا یک کتابخانه ای استفاده کردید که وجود خارجی نداره . برنامتون رو بزارید تا اشکالش رو پیدا کنیم

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

1nafar
17-04-2010, 17:55
سلام
نرم افزار کیل خیلی گیر نیست ،
یا نرم افزار درست نصب نشده ، یا برنامه مشکل داره .
اگه به اینترنت پر سرعت دسترسی دارید ، نسخه ی موجود در صفحه ی اول سایت رو دانلود کنید ( ورژن 4.1 ) که کاملا تست شده و مشکلی نداره .
برنامه رو هم میزاشتین بد نبود .

farhadmz
29-05-2010, 00:04
سلام - خسته نباشید
من هرکاری کردم که یکی از پایه های میکرو ورودی تعریف کنم که با یک کلید کار کنه نشد
دقیقا از روی pmm عمل کردم ولی همه چی کار میکنه غیر از تعریف ورودی شدن پایه .......
لطفا کمکم کنید ا ممنونم:(

farzadsw
29-05-2010, 00:31
کلاک pio رو فعال کنید !!!!!!!

armstk
29-05-2010, 01:52
کلاک pio رو فعال کنید !!!!!!!
سلام
منظور از کلاک PIO رو فعال کنید چی بودش؟ii998)

1nafar
29-05-2010, 11:29
منظور از کلاک PIO رو فعال کنید چی بودش؟
پیکر بندی پایه به عنوان ورودی :

AT91F_PIO_CfgInput(AT91C_BASE_PIOx, AT91C_PIO_PBxy);
دستور بالا پایه y از پورت x را به عنوآن ورودی تعریف می کند ، این دستور تابع زیر را در هدر lib_AT91SAM7X256.h اجرا می کند :

__inline void AT91F_PIO_CfgInput(
AT91PS_PIO pPio, // \arg pointer to a PIO controller
unsigned int inputEnable) // \arg PIO to be enabled
{
// Disable output
pPio->PIO_ODR = inputEnable;
pPio->PIO_PER = inputEnable;
}
همآنطور که مشاهده می کنید در این تابع ، ابتدا وضعیت خروجی غیر فعال شده و سپس واحد pio راه اندازی می شود .
شما می توانید به جای AT91C_PIO_Pxy از آدرس پایه یا پایه های مورد نظر استفاده کنید .ادر س می تواند به فرم هگز یا عددی باشد :

AT91F_PIO_CfgInput(AT91C_BASE_PIOx, y);
در دستور بالا پایه های y از پورت x به عنوآن ورودی تعریف می شوند( برای درک بهتر موضوع مثال را مشاهده کنید)

خواندن پایه یا پورت با دستور زیر آنجام می شود :

AT91F_PIO_GetInput(AT91C_BASE_PIOx) & AT91C_PIO_Paxy
دستور بالا مقدار موجود بر روی پورت را برمی گردآند ، شما می توانید با مقایسه کردن این دستور با مقدار دلخواه ( صفر یا یک ) وضعیت ورودی را چک کنید .

AT91F_PIO_GetInput(AT91C_BASE_PIOy) & y
در این دستور امکآن چک کردن گروهی پایه ها نیز وجود دارد . y آدرس پایه های هست که قصد خوآندشآن را داریم
همآنطور که قبلا توضیح دادیم ، برای خوآندن مقدار موجود بر روی یک پورت ابتدا باید کلاک pio را فعال کنید ، برای فعال کرک کلاک pio از دستور زیر استفاده می شود :

AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, 1 << AT91C_ID_PIOx);
X می تواند A برای راه اندازی کلاک پورت A و B برای راه اندازی کلاک پورت B باشد .
راه اندازی مقاومت های Pullup داخلی :

AT91F_PIO_CfgPullup(AT91C_BASE_PIOx, AT91C_PIO_Pxy);
دستور بالا مقاومت Pullup ( مقاومت بالا کشنده ) پایه y از پورت x را فعال می کند . شما می توانید به جای AT91C_PIO_Pxy از آدرس پایه یا پایه های مورد نظر استفاده کنید .

AT91F_PIO_CfgPullup(AT91C_BASE_PIOx, y);
در دستور بالا مقاومت پایه های y از پورت x فعال می شوند . مثال :
به پایهa.30 یک کلید و به پایه b.19 یک led متصل است ، برنامه ای بنویسید که با تحریک کلید led روشن شود :

#include <AT91SAM7X256.H> /* AT91SAMT7X256 definitions */
#include "lib_AT91SAM7X256.h" //include lib_AT91SAM7X256.h in to project
int main (void) {
AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, 1 << AT91C_ID_PIOA); //enable pio clack
AT91F_PIO_CfgInput(AT91C_BASE_PIOA, AT91C_PIO_PA30); // enable porta.30 as output
AT91F_PIO_CfgPullup(AT91C_BASE_PIOA,AT91C_PIO_PA30 ); //enable pull up resistor in porta.30
AT91F_PIO_CfgOutput(AT91C_BASE_PIOB,AT91C_PIO_PB19 ); // enable portb.19 as output
AT91F_PIO_ClearOutput(AT91C_BASE_PIOB,AT91C_PIO_PB 19); // reset portb.19
while(1) {
if ((AT91F_PIO_GetInput(AT91C_BASE_PIOA) & AT91C_PIO_PA30) == 0) { //chake porta.30
AT91F_PIO_SetOutput(AT91C_BASE_PIOB, AT91C_PIO_PB19); //if porta.30 is 0 set portb.19
}
}
}
با فعال کردن مقاومت Pullup ، نیازی به قرار دادن مقاومت خارجی نیست

farhadmz
29-05-2010, 12:42
ممنونم از جوابتون D
آقای 1nafar شما کلاس خصوصی برای آموزش arm نمیذارید: D