PDA

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



sigma-mx
22-04-2012, 01:52
سلام بر دوستان و مهندسان گرامی :hi:
این تاپیک رو ایجاد کردم تا به کمک دوستان ، آموزش و راه اندازی میکروکنترلر LPC1313 رو به امید خدا شروع کنیم .
دوستان اگر منابعی از این میکرو دارند در اینجا به اشتراک بگذارند یا معرفی کنند تا با سرعت بیشتری کار رو ادامه بدیم .
این تاپیک حاوی تمامی مطالب مربوط به طراحی ، برنامه نویسی ، برد های آموزشی ، هدر برد و ... در مورد میکروی 1313 خواهد بود ....

یا حق



You can see links before reply

sigma-mx
22-04-2012, 13:30
سلام دوستان
هدر بردی رو که برای این میکرو طراحی کردم رو آپ کردم . شاید هیچ امکاناتی رو برد نباشه ولی هدف من از طراحیش ، کوچکی بود . تا حد ممکن .... این برد براحتی روی یک برد برد جا میگیره !! جامپر برای بوت لودر - برای ارتباط سریال یا پروگرام و برای SWD روش هست ... ضمنا پایه ها کاملا به ترتیب بیرون اومدن :0013:

دوستان اگه بردی طراحی کردن یا تو نت دیدن اینجا لینک بدن ..

You can see links before reply

Shapour_Ardebil
13-05-2012, 21:23
با سلام

ضمن تشکر از شما دوست عزیز آیا شما آنرا ساختید واشکالی نداشت لاقل عکسی از آن در حال کار میگذاشتید

agape
13-05-2012, 22:49
سلام دایی جان
من ساختم و مشکلی هم نداشت و به خوبی هم کار میکنه
پیشنهاد میکنم دیگه avr رو کنار بذارید و کم کم از arm استفاده کنید

Shapour_Ardebil
14-05-2012, 12:01
با سلام

ضمن تشکر از شما من حتما فیبرش را میزنم فقط خواهشی که داشتم لطف کنید در صورت امکان آموزش هایی هم در این مورد قرار دهید

sigma-mx
14-05-2012, 12:26
سلام دایی جان
من ساختم و مشکلی هم نداشت و به خوبی هم کار میکنه
پیشنهاد میکنم دیگه avr رو کنار بذارید و کم کم از arm استفاده کنید سلام مهندس :hi:
همین برد رو ساختید ؟



با سلام
ضمن تشکر از شما من حتما فیبرش را میزنم فقط خواهشی که داشتم لطف کنید در صورت امکان آموزش هایی هم در این مورد قرار دهید
خواهش میکنم . راستش توقع داشتم از این صفحه بیشتر از اینا استقبال بشه . ولی مثل اینکه ..
در مورد آموزش خوشحال میشم کار ادامه پیدا کنه . ولی یکم سرم شلوغ شده فعلا ، ولی با این حال اگه دوستان مثل جناب مزارعی و .. کمک کنند خیلی خوب میشه . چون من تو نت گشتم متاسفانه یکم منابع و مثال برای این میکرو کمه . با این حال بازم میشه کار رو ادامه داد .
من برای شروع تا حالا با GPIO کار کردم و ارتباط سریال و همچنین از کتابخانه السیدی کارکتری رو از STM32 برای این میکرو پورت کردم .
دوستان اگه لطف کنند و همکاری کنند با هم میریم جلو ...

با تشکر.

mzarkoob
14-05-2012, 15:02
سلام
من اگه وقت کنم هدر بردش درست کنم پایم.

Shapour_Ardebil
14-05-2012, 22:00
دوستان من یکم سرچیدم وYou can see links before reply هدر برد میکروکنترولر LPC13XX و You can see links before reply توضیحات و نحوه ی استفاده از ورودی خروجی های میکروکنترولر LPC1313 را پیدا کردم امیدوارم سایر دوستان هم اگر منبعی دیدند اطلاع رسانی کنند

اگر دوستان لطف کنند آدرس سایتی یا تلفنی برای ساخت فیبر دو رو ( تکی ) با قیمت مناسب سراغ دارند راهنمایی کنند در شهرستان نتوانستم پیدا کنم

sigma-mx
20-05-2012, 02:03
سلام به دوستان LPC کار ! :hi:

دیدم از این بخش خیلی استقبال شده !! :0013: گفتم کم کم شروع کنیم به آموزش این میکروی کوچک و پرقدرت..
اونایی که می خوان همکاری کنن بسم الله .. از فردا انشالله به ترتیب با :

1- GPIO
2- USART
3- ADC
4- LCD char
4- EEPROM
...
شروع میکنیم .اینا رو خود من راه اندازی کردم . ضمنا خبر خوب هم اینه که همین حالا یه RTOS هم با چند TASK رو این هدر برد تست کردم و عالی داره کار میکنه :o
اینم یه عکس از برد که برنامه RTOS روش هست . جزئیات رو بعد توضیح میدم

You can see links before reply

یا حق

sigma-mx
20-05-2012, 14:45
سلام دوستان ..
بخش GPIO رو شروع میکنیم .

ضمنا این reference manual (You can see links before reply) رو دانلود کنید که از روی این پیش بریم .

این میکرو 42 پایه GPIO داره که در 4 پورت دسته بندی شده :

1- پورت 0 : از PIO0_0 تا PIO0_11
1- پورت 1 : از PIO1_0 تا PIO1_11
1- پورت 2 : از PIO2_0 تا PIO2_11
1- پورت 3 : از PIO3_0 تا PIO3_5

حالا برای کار کردن با پورت ها باید با رجیستر های زیر کار کنیم :

LPC_IOCON

LPC_GPIO

در بسیاری از مدلهای دیگر LPC ممکنه روال کار همین شکلی باشه . دوستانی که با 1768 و ... کار کردن بهتر میدونند.

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

مقداردهی به رجیستر IOCON باید طبق منوال صورت بگیره . از صفحه 55 تا 79 نوشته که هر پین به چه صورتهایی میتونه کانفیگ بشه ..
بعضی از پینها بصورت پیش فرض در حالت GPIO قرار دارند و بعضی دیگه مثل پینهای مربوط به JTAG و SWD و I2C در حالت عملکرد خودشون هستند و اگه ما دستورات GPIO رو براشون بکار ببریم مشاهده میکنیم که پین هیچ تغییری نمی کنه ! چون اصلا تو مد GPIO نیست . هر پین این میکرو میتونه بصورت ورودی- خروجی - pullup- pull down و همچنین حالت hystersis قرار بگیره .


You can see links before reply

همچنین این میکرو با قابلیت جالبی بنام GPIO MASK شما رو قادر به این امر میکنه که در حالت ورودی یا خروجی بدون اعمال عملیات بیتی اضافی مثل and و or و .. اطلاعاتتون رو مستقیم روی پورت بریزید و تنها تغییرات روی پین های مورد نظر شما اعمال بشه .
در واقع رجیستر MASK مثل یک غربال (آبکش) عمل میکنه ! شما اطلاعات رو توش میریزید و سوراخهایی که بسته هستند اطلاعات رو عبور نمیدن ولی قسمتهای دیگه اطلاعات رو روی پین های مورد نظر شما انتقال میدن .. به شکل بالا و قسمت ENABLE پین نگاه کنید ..

همون طور که میدونید میکروهای Cortex-M3 از پشتیبانی CMSIS برخوردارند . پس باید یه سری توابع آماده برای این میکرو وجود داشته باشه ولی من زمانی که کار با این میکرو رو شروع کردم فکر میکردم با ساپورتی مثل STM32 مواجه بشم ولی متاسفانه منابع کمی براش دیدم و یه کتابخانه CMSIS که حتی قسمت GPIO اون کمی ایراد داشت و منو چند ساعت برای راه اندازی پورتهای GPIO معطل کرد !!

خب ، به هر حال یه فایل LPC13xx.h به ما تحویل دادن که رجیستر های این میکرو داخلش نوشته شده . مثلا برای دسترسی به پین ها یک structure ترکیبی با Mask پورت گذاشتن به این صورت :



LPC_GPIO[portNum]->MASKED_ACCESS[0xfff] |= 1<<5;
در این دستور بجای portNum باید شماره پورت میکرو از 0 تا 3 قرار بگیره
در زیر شاخه این ساختار ما به Mask پورت دسترسی داریم که در اینجا FFF گذاشته یعنی همه پورت جهت تغییرات انتخاب شده . چرا FFF ؟ چون هر پورت 12 بیتی هست البته بجز پورت 3 .
در قسمت آخر شما عدد مورد نظر رو به پورت یا پین نسبت میدید . علت تخصیص دادن مقدار با عملگر OR رو هم که میدونید . برای اینکه هر بار با مقدار دهی به پورت بقیه مقادیر تغییر نکنند ما دیتای جدید رو OR میکنیم . البته اگر بخواهیم بیتی رو پاک کنیم باید از AND استفاده کنیم . در ادامه مثال میزنم ..

ضمنا اگه مطالب زیادی ساده گفته شد ببخشید . لطفا نظر هم بدید بد نیست ! :hi:

Doloop
20-05-2012, 15:14
آموزشتون خیلی خوبه ولی مثل اینکه کسی بورد نداره !!!
منم خیلی دوست دارم بیام ولی سرم از چند طرف شلوغه ...!!!
اگه بتونم یه هدر بورد برای این تهیه میکنم ولی الان نمیتونم ...
تابستون که دانشگاه تموم بشه بیشتر وقت میکنم :o


شروع میکنیم .اینا رو خود من راه اندازی کردم . ضمنا خبر خوب هم اینه که همین حالا یه RTOS هم با چند TASK رو این هدر برد تست کردم و عالی داره کار میکنه :o

راستی اینی که گفتی چی هست ؟!!؟!

sigma-mx
20-05-2012, 15:21
یکی دو نفر هم ساخته باشه خوبه .نتایج ثبت میشن . هر کس هر وقت خواست میخونه . خود من الان وقت خالی دارم ولی ممکنه مدتی دیگه این وقت و همچنین حس و حال بره . چیکار کنم :0013:
چیز خاصی که نداره ! یه برد کوچیکه فقط..

RTOS دیگه ! همون سیستم عامل . باهش میشه چند تا کار رو با هم انجام داد . یعنی ما وظیفه ها (Task) رو بهش میدیم و اون خودش مدیریت میکنه . جوری مدیریت میکنه که شما خیال میکنی همه با هم دارن موازی اجرا میشن ..

alireza9900
20-05-2012, 15:38
شروع میکنیم .اینا رو خود من راه اندازی کردم . ضمنا خبر خوب هم اینه که همین حالا یه rtos هم با چند task رو این هدر برد تست کردم و عالی داره کار میکنه

مهندس با rtx ؟

sigma-mx
20-05-2012, 15:53
نه با RTX نه
میدونم RTOS کامپایلر ها خوب کار میکنه ولی به این فکر کردم که اگه کامپایلرمو عوض کنم دیگه نمی تونم با RTX کار کنم !

پس بهتره از RTOS های مستقل استفاده بشه . البته این نظر منه فقط .
من برای STM32 از uCOSII استفاده کردم که عالیه و الان برای LPC1313 هم اومدم از freeRTOS استفاده کنم که دیدم برای کیل پورت نشده فقط برای GCC هست . هر کاری کردم تغییرش بدم . مثل اینکه نمیشه . یسری از دستورات Low Level رو که اسمبلی هست کیل قبول نمی کنه و اونا رو هم نمیشه دست زد .

پس اومدم از سومیم RTOS مشهور استفاده کردم که آینده روشنی داره بنام ChibiOS . کاملا رایگانه و هر روز داره به علاقه منداش اضافه میشه .
ضمنا هم ChibiOS و هم uCOSII و هم freeRTOS رو برای STM32 تست کزدم . هر سه تا خوبه . ولی فقط کار با یه RTOS تولید Task نیست . خیلی امکانات مهمتر و پیشرفته تری داره که باید تو کار باهاش خبره شد مثل Mailbox و...

mohpooria
20-05-2012, 21:32
یه خبر خوب اینه که پایه های lpc1114 و lpc1313 به یک صورته
و من با نگاهی که کردم حدودا رجیستر ها و بخش ها هم مطابقت داره
مثلا بخش GPIO که دوستمون یکم توضیح دادن ، فک کنم کاملا منطبقه
You can see links before reply


You can see links before reply

mohpooria
20-05-2012, 21:36
سلام
آقا شما می تونی کتابخوبه میکرو lpc1313 داخل آلتیوم را اینجا بگذاری ؟
من میخواهم برای LPC1114 استفاده کنم

sigma-mx
20-05-2012, 22:50
مهندس تو فایل pcb برد که گذاشتم فوت پرینت و شماتیکش هست

alireza9900
21-05-2012, 12:02
نه با RTX نه
میدونم RTOS کامپایلر ها خوب کار میکنه ولی به این فکر کردم که اگه کامپایلرمو عوض کنم دیگه نمی تونم با RTX کار کنم !

پس بهتره از RTOS های مستقل استفاده بشه . البته این نظر منه فقط .
من برای STM32 از uCOSII استفاده کردم که عالیه و الان برای LPC1313 هم اومدم از freeRTOS استفاده کنم که دیدم برای کیل پورت نشده فقط برای GCC هست . هر کاری کردم تغییرش بدم . مثل اینکه نمیشه . یسری از دستورات Low Level رو که اسمبلی هست کیل قبول نمی کنه و اونا رو هم نمیشه دست زد .

پس اومدم از سومیم RTOS مشهور استفاده کردم که آینده روشنی داره بنام ChibiOS . کاملا رایگانه و هر روز داره به علاقه منداش اضافه میشه .
ضمنا هم ChibiOS و هم uCOSII و هم freeRTOS رو برای STM32 تست کزدم . هر سه تا خوبه . ولی فقط کار با یه RTOS تولید Task نیست . خیلی امکانات مهمتر و پیشرفته تری داره که باید تو کار باهاش خبره شد مثل Mailbox و...

نمی دونم RTX رو شاید بشه پورتش کرد. چون سورسش بازه دیگه؟ آره؟
بعد uCOSII مگه همون پولیه نیست؟
این ChibiOS هم چند روز داشتم می سرچیدم به این صفحه (You can see links before reply) رسیدم و زیارتش کردم:mrgreen:

sigma-mx
21-05-2012, 14:05
نمی دونم RTX رو شاید بشه پورتش کرد. چون سورسش بازه دیگه؟ آره؟RTOS کامپایلر ها نیاز به پورت شدن نداره چون برای همه میکرو های ساپورت شده توسط اون کامپایلر پورت شده ! معمولا ..


بعد uCOSII مگه همون پولیه نیست؟عجیبه ! من چند جا دیگه هم دیدم که برای این که یکی گفته بود پولیه ، کسی سراغ این RTOS قدرتمند نرفته بود .
اگر شما کلمه Trial رو تو سایتش دیدید به این معنیه که برای مدت محدودی میتونید بطور رایگان جهت ارزیابی از این RTOS استفاده کنید ولی پس از اون دوره باید برای خودتون یک لایسنس بخرید . و نسحه های که برای دانلود در سایتهای مختلف گذاشته شده همه فول هستند . خصوصا برای میکروهای ST ، اگه فرومهای چینی رو بگردید به وفور ! از این RTOS استفاده شده (95%) ! یادتون باشه چینیا دنبال چیز بد و بی آینده نمی رن !

در مورد uCOSII من خیلی تحقیق کردم و حتی تاریخچه شکل گیریش رو خوندم . یکی دو سال پیش نسخه 3 اون هم اومد یعنی uCOSIII . در موردش بعد مفصل توضیح میدم که چه مزایایی داره ..

MicroC/OS-II - Wikipedia, the free encyclopedia (You can see links before reply)

فقط اینو بگم که کلی کتابخونه برای Fat - IP - GUI و ... هم ارائه داده که اگه تو بردهای آموزشی چینی که السیدی دارند نگاه کنی تو همشون از کتابخونه uCGUI استفاده شده !




این ChibiOS هم چند روز داشتم می سرچیدم به این صفحه (You can see links before reply) رسیدم و زیارتش کردم:mrgreen:بله - ChibiOS یک پروژه متن باز ایتالیایی هست که خیلی داره طرفدار پیدا میکنه . بخاطر سادگی و قدرتش ..

ChibiOS/RT free embedded RTOS | Free software downloads at SourceForge.net (You can see links before reply)
You can see links before reply
You can see links before reply

و برای میکرو های زیادی هم پورت شده .
اینم لوگوی این RTOS هست . وحشت نکنید !!!!!!!!!!


You can see links before reply

sadmonew
21-05-2012, 14:31
سلام مهندس
uC/OS گزينه بسيار خوبيه. مخصوصا يه كتاب هم داره كه ترجمه و چاپ شده. خودم اين كتاب رو دارم. يه منبع بسيار خوب براي اين كرنل محسوب ميشه. پيشنهاد ميكنم اين كتاب رو تهيه كنيد.
سايتش هم اينه:You can see links before reply
البته اين كرنل رو واسه ميكروي LPC1313 پورت نكرده. اما واسه بيشتر ميكرو ها(Atmel, NXP, ST,...) پورت شده.

alireza9900
21-05-2012, 14:38
RTOS کامپایلر ها نیاز به پورت شدن نداره چون برای همه میکرو های ساپورت شده توسط اون کامپایلر پورت شده ! معمولا ..
منظورم پورتش رویه کامپایلر دیگه بود..


عجیبه ! من چند جا دیگه هم دیدم که برای این که یکی گفته بود پولیه ، کسی سراغ این RTOS قدرتمند نرفته بود .
اگر شما کلمه Trial رو تو سایتش دیدید به این معنیه که برای مدت محدودی میتونید بطور رایگان جهت ارزیابی از این RTOS استفاده کنید ولی پس از اون دوره باید برای خودتون یک لایسنس بخرید . و نسحه های که برای دانلود در سایتهای مختلف گذاشته شده همه فول هستند . خصوصا برای میکروهای ST ، اگه فرومهای چینی رو بگردید به وفور ! از این RTOS استفاده شده (95%) ! یادتون باشه چینیا دنبال چیز بد و بی آینده نمی رن !
پس در واقع برای مصارف تجاری و زمانی که قراره محصولی با این او اس تولید شه باید لایسنس گرفتو
بعد این uC/TCP-IP و uC/FS و... چین؟ توی قسمت دانلودش زده ترایال برای ویندوز؟

sigma-mx
21-05-2012, 19:00
یه سری امکاناتش مثل استفاده از uCIP یا بخش مونیتورینگ task ها برنامه اینترفیس دارن برای ویندوز که خیلیم جالبه . اونا تریال ورژن هستن که بعد از چند روز expire میشن . اونا دیگه واقعا تریالند !! یه چیز مثل Jtag هست که امکان دیباگ بهمون میده منتها برای RTOS فقط .
ورژن 3 این RTOS ندیدم برای میکرو های متوسطی مثل stm32f103rb پورت شده باشه . حداقل برای سری 105 یا 107 پورت شده . من آخرین ورژن استابل که دیدم برای RB ورژن 2.86 بود . دیروز منابع استفاده شده دو RTOS رو مقایسه میکردم ، دیدم بازم uCOSII از ChibiOS یکم سبک تره . هم از لحاظ RAM و هم ROM !!
تا حالا نرفتم سراغ uCOSII برای 1313 . ولی پیدا کردم اینجا میزارم ..
به قول صادق جان منابع زیادی هم داره و از معدود مواردی هم هست که کتاب مفصل براش نوشته شده !

sigma-mx
22-05-2012, 21:01
سلام
برای قسمت gpio یه برنامه مثال میزارم .تو این برنامه پین 2 از پورت 0 هر ثانیه چشمک میزنه . برای تست برد هم میتونید از این برنامه استفاده کنید .

agape
22-05-2012, 22:26
دوستان چرا الان به فکر rtos افتادید ؟
32 کیلو فلش ارزش پیاده سازی سیستم عامل رو نداره - در ضمن با استفاده از تایمر میتونید یه چیزی در حد دو تسکی رو پیاده سازی کنید اگر وارد باشید.

sigma-mx
22-05-2012, 22:31
درسته مهندس . من یه مثال زدم و بحث کش پیدا کرد .. :0013: کار خودمون رو ادامه میدیم . خوبی این میکرو اینه که چند مدل دیگه هم دقیقا پایه هاش با این مطابقت داره . مثل 1343 که انشالله آقای زارعی بعد وارد میکنه ...

مهندس شما گفته بودی برد رو ساختی درسته ؟

Shapour_Ardebil
25-06-2012, 20:40
کار خودمون رو ادامه میدیم .

سلام

lov:lov: ما همچنان منتظریییییییییییییییییییی ییییییییییییییییییییییییی ییییییییییییییم ! lov:lov:

sigma-mx
25-06-2012, 20:54
سلام مهندس ..
وقتی یه نفر هم همکاری نمیکنه همینطوری میشه دیگه !!!!!

شما برد داری یا نه .... منتظر یه نفرم که حداقل برد داشته باشه ...

esi_52000
25-06-2012, 21:56
سلام مهندس ..
وقتی یه نفر هم همکاری نمیکنه همینطوری میشه دیگه !!!!!

شما برد داری یا نه .... منتظر یه نفرم که حداقل برد داشته باشه ...

سلإم سعید جإن.دإدإ دمت گرم دیگه مگه مإ بوقیم که میگی کسی همکإری نمیکنه.دإدإ من منتظر خودت بودم دإدإشم.همه جوره پإیه إم.إلبته من فقط بإ cmsis کإر میکنم که گویإ بعضی دوستإن نمی پسندند.وإسه همین منتظرم تإ ببینم شمإ چطور شروع میکنی دإدإشم.بإزم منتظرم عزیز

sigma-mx
25-06-2012, 22:05
سلام اسی جان
خب منم با cmsis داشتم شروع میکردم . منتها حداقل برای GPIO بهتره که هر کسی رجیستر هاش رو هم یاد بگیره ....
الانم گیرم اینه که یکی بیاد بگه که این میکرو رو داره تا منم شروع کنم با هم پیش بریم .... خیلی خوشحال میشم شما و دوستان همکاری کنید.

اون چند تا لایببری رو که تو پست های قبل نام برده بودم فقط اونا رو تا حالا آماده کردم . اگه هستی بسم الله .........

agape
25-06-2012, 22:08
سلام به همه دوستان ، خوب این میکروی دوست داشتنی - از طرف من به صورت کامل راه اندازی شده وخوشبختانه به جز مشکل کم بودن حافظه فلش مشکل خاص دیگه ای نداره ، واسه همین مشکل بود که مثلا کتابخونه های فونت و بعصی از کتابخونه های دیگه رو روی حافظه های خارجی پیاده سازی کردم ، خوشبختانه تا حالا مشکل خاصی هم نداشته ، و فقط موردی که هست من تا حالا یه حدر برد بدردبخور براش ندیدم ، نظرتون چیه یه اصولیش رو طراحی کنیم

sigma-mx
25-06-2012, 22:12
آره مهندس ، متاسفانه ساپورت خوبی برای کتابخونه های cmsis براش ندیدم . ولی میشه روش کار کرد . استفاده ازش محاسن زیادی داره ..... همکاری کنید با هم پیش میریم ...

در مورد هدر برد هم هر چی هست برای 1343 ساخته شده که اونم یکی دو مورده .....

Doloop
25-06-2012, 22:21
وقتی یه نفر هم همکاری نمیکنه همینطوری میشه دیگه !!!!!

شما برد داری یا نه .... منتظر یه نفرم که حداقل برد داشته باشه ...

سلام

دادا سعید نگران نباش خودم یه بورد میگیرم (هدر بورد) باهم پیش بریم ...:wink:(البته اگه مارو قابل بدونی:0013:)

قیمتشم عالیه 5500
فقط منتظرم مهندس زارعی محصولات جدیدش رو معرفی کنه،یکدفعه یه خرید کلی کنم ...!

sigma-mx
25-06-2012, 22:28
اِه ............. قیمتش بازم تخفیف خورد !!! :o ایول ........
خب دیگه معطل نکنید . امتحانا هم که تموم شد دیگه .........

mehdi_nxp
19-07-2012, 01:27
سلام.
من یه سوال داشتم:

بعضی از پینها بصورت پیش فرض در حالت GPIO قرار دارند و بعضی دیگه مثل پینهای مربوط به JTAG و SWD و I2C در حالت عملکرد خودشون هستند و اگه ما دستورات GPIO رو براشون بکار ببریم مشاهده میکنیم که پین هیچ تغییری نمی کنه ! چون اصلا تو مد GPIO نیست .
خب چه جوری باید از این پایه ها به صورت gpio استفاده کرد؟
من طبق این صفحه از دیتاشیت این مقدار رو دادم ولی باز هم نشد.

LPC_IOCON->PIO0_4=1<<9;

sigma-mx
19-07-2012, 01:40
سلام مهندس ..
اون پین هایی که حالت عادی GPIO هست که هیچ ... بقیه با این مقادیر درست میشند . تست شده هست :



LPC_IOCON->RESET_PIO0_0 = 0x000000D1
LPC_IOCON->PIO0_4 = 0x000001C0
LPC_IOCON->PIO0_5 = 0x000001C0
LPC_IOCON->SWCLK_PIO0_10 = 0x000000D1
LPC_IOCON->R_PIO0_11 = 0x000000D1
LPC_IOCON->R_PIO1_0 = 0x000000D1
LPC_IOCON->R_PIO1_1 = 0x000000D1
LPC_IOCON->R_PIO1_2 = 0x000000D1
LPC_IOCON->SWDIO_PIO1_3 = 0x000000D1

mehdi_nxp
19-07-2012, 01:54
من طبق گفته شما این جوری نوشتم اما نشد.

#include <LPC13xx.h>

int main(void){

LPC_IOCON->PIO0_4 = 0x000001C0;
LPC_GPIO0->DIR=0xfff;
LPC_GPIO0->MASKED_ACCESS[1<<4]= 1<<4;

}

آقا این اعداد رو از کجا به دست میارین!؟

sigma-mx
19-07-2012, 02:06
مهندس اینم اولش بنویس برای فعال کردن کلاک باس .. بجای همون gpio_init :


LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6);

آقا این اعداد رو از کجا به دست میارین!؟ مهندس همون عکسی که گذاشتی ، اگه بیتها رو مطابق عکس قرار بدی .. همین عدد میشه . اگه متوجه نشدی برات مثال بزنم ..

mehdi_nxp
19-07-2012, 02:19
ممنون اما نمیدونم چرا نمیشه:x

mehdi_nxp
19-07-2012, 15:41
مهندس همون عکسی که گذاشتی ، اگه بیتها رو مطابق عکس قرار بدی .. همین عدد میشه . اگه متوجه نشدی برات مثال بزنم ..
اگه میشه بیشتر توضیح بدید.
در ضمن برای pull down کردر پایه ها هم مشکل دارم .
این جوری مینویسم اما نمیشه.

LPC_IOCON->PIO0_3 = 1<<3;

sigma-mx
19-07-2012, 16:12
مهندس الان فرصتم کمه و باید برم . ولی اومدم یه مثال میزارم ... فقط این نکته رو بگم که پین های P0_4 و P0_5 به جهت اتصال به I2C کلا خروجیشون بصورت OpenDrain هست . برای خروجی گرفتن ازش باید این دو پین رو با مقاومت مثلا 10 کیلو PullUp کنی ... تست کن و نتیجشو بگو ...

فعلا ..

mehdi_nxp
19-07-2012, 16:23
مهندس الان فرصتم کمه و باید برم . ولی اومدم یه مثال میزارم ... فقط این نکته رو بگم که پین های P0_4 و P0_5 به جهت اتصال به I2C کلا خروجیشون بصورت OpenDrain هست . برای خروجی گرفتن ازش باید این دو پین رو با مقاومت مثلا 10 کیلو PullUp کنی ... تست کن و نتیجشو بگو ...

فعلا ..
نمی دونستم OpenDrain هست ولی حتی بدون نوشتن این کد هم که کار میکنه!

LPC_IOCON->PIO0_4 = 0x000001C0
اما هنوز نمیتونم مقاومت pull down رو تنظیم کنم.

sigma-mx
19-07-2012, 18:00
من کل اون کانفیگ ها رو برای بردن به حالتGPIO نوشتم . بعضی مثل همین خودشون تو حالت خروجی هستن (البته پیش فرض تو حالت خروجی برای I2C هست که بهتره به مد خروجی IO تغییر بدین ) . ولی کلا با توجه به اینکه هر پین قبلا تو چه مدی بوده بهتره وقتی که می خوایم بعنوان gpio استفاده کنیم برای اطمینان اینا رو بنویسیم ...

در ضمن دو پینی که نام بردم به جهت OpenDrain بودن مقاومت Pullup و PullDown ندارن ....!!!

برای اینکه براحتی عدد مورد نظر رو برای قرار دادن در رجیستر IOCON پیدا کنی .. راحتترین راه استفاده از شبیه ساز کیل هست . وقتی تو مد دیباگ نرم افزاری هستی از منوی Peripherals عبارت I/O Configurations رو باز کن.... حالا با انتخاب هر پین در پنجره بالا و انتخاب حالت مورد نظر از دو منوی کرکره ای وسط صفحه ، عدد متناظر در قسمت پایین پنجره مثلا IOCON_PIO0_4 همون عددی هست که باید تو رجیستر بنویسی...

You can see links before reply

mehdi_nxp
19-07-2012, 18:46
ممنون از پاسختون عالی بود.:018:
ببخشید که این قدر سوال میپرسم.
طبق گفته شما اگر بخواهم pio0_3 رو pull down کنم باید این کد رو بنویسم اما نمیشه.
و اون پین 1 هست!چیزی کم نداره؟

#include <LPC13xx.h>

int main(void){
LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6);
LPC_GPIO0->DIR=1<<3;
LPC_IOCON->PIO0_3=0x000000C8;
}

sigma-mx
19-07-2012, 23:20
مهندس شما میخوای خروجی کنی یا ورودی ؟ بگو دقیقا میخوای چیکار کنی ؟

sigma-mx
20-07-2012, 14:55
ممنون از پاسختون عالی بود.:018:
ببخشید که این قدر سوال میپرسم.
طبق گفته شما اگر بخواهم pio0_3 رو pull down کنم باید این کد رو بنویسم اما نمیشه.
و اون پین 1 هست!چیزی کم نداره؟


مهندس معمولا Pullup و PullDown برای حالت ورودی مورد استفاده قرار میگیره چون در حالت خروجی وضعیت پین مشخصه و Float نیست در نتیجه تاثیری نداره ... من دو مثال برای حالت ورودی و خروجی میزارم ...

برای خروجی :


#include "LPC13xx.h"


//************************************************** *****************************
int main (void)
{
uint32_t i;

LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6); // AHB Config
LPC_IOCON->PIO0_3=0x000000C0; // P0_3 Inactive PD/PU , GPIO
LPC_GPIO0->DIR=1<<3; // P0_3 Output

while(1)
{
LPC_GPIO0->MASKED_ACCESS[0xfff] |= 1<<3; // Output High
for(i=0;i<=10000000;i++);
LPC_GPIO0->MASKED_ACCESS[0xfff] &= ~(1<<3); // Output Low
for(i=0;i<=10000000;i++);
}
}
//************************************************** *****************************



برای ورودی :


#include "LPC13xx.h"


//************************************************** *****************************
int main (void)
{
LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6); // AHB Config
LPC_IOCON->PIO0_3=0x000000D0; // P0_3 PullUp , GPIO
LPC_IOCON->PIO0_2=0x000000C0; // P0_2 Inactive PU/PD , GPIO
LPC_GPIO0->DIR &= ~(1<<3); // P0_3 Input
LPC_GPIO0->DIR |= 1<<2; // P0_2 Output

while(1)
{
if (((LPC_GPIO0->MASKED_ACCESS[0xfff])>>3)&0x01) // if P0_3=1
LPC_GPIO0->MASKED_ACCESS[0xfff] |= 1<<2; // P0_2 High
else
LPC_GPIO0->MASKED_ACCESS[0xfff] &= ~(1<<2); // P0_2 Low

}
}
//************************************************** *****************************

mehdi_nxp
20-07-2012, 19:07
ممنون از پاسخ کاملتون.خیلی عالی:o
راستی تاپیک از موضوع اصلی منحرف شد.
ما منتظر آموزش های بعدی شما هستیم:0013:

mj3747
22-07-2012, 17:48
اگه بشه یه هدر بورد خوب طراحی کنید و برا فروش توی فروشگاه بذارید خیلی خوبه، خیلیا مثل من هستن که دسترسی به جاهایی نداریم که امکان طراحی pcb متالیزه رو داشته باشیم.
من خودم برا lpc2103 یه بورد طراحی کردم اما هزینه پست و چاپش و همینطور دردسرهای مونتاژ اصلا ارزششو نداشت.
ممنون میشم اگه دوستانی که تو این زمینه آشناتر هستن پیگیری کنن.

با سپاس.

iaun
23-07-2012, 11:36
فوق العاده بود

iaun
23-07-2012, 11:41
سلام دایی جان
من ساختم و مشکلی هم نداشت و به خوبی هم کار میکنه
پیشنهاد میکنم دیگه avr رو کنار بذارید و کم کم از arm استفاده کنید
ولتاژ تغذیش چقدره و به کجا میدیم؟ چرا usb نداره

sigma-mx
23-07-2012, 13:07
سلام
فایل شماتیک و pcb رو حتما دانلود کنید و از روی شماتیک پایه ها رو پیدا کنید . پایه ها بترتیب هست .
پایه 1 و2 هم gnd و vcc هستند . تغذیه هم 3.3 ولت هست . حواستون باشه پلاریته رو اشتباه نزنید و ولتاژ هم رگوله باشه چون برد محافظی نداره .. موقعی که تغذیه رو وصل میکنید led پاور روی برد روشن میشه ..

دو پین هدر 3 تایی هم برای پروگرام با swd یا bootloader تعبیه شده که جهت استفاده از روش بوت لودر حتما توجه کنید سطح ولتاژ 3.3 باشه ...

یا حق

iaun
23-07-2012, 17:05
سلام دوستان
هدر بردی رو که برای این میکرو طراحی کردم رو آپ کردم . شاید هیچ امکاناتی رو برد نباشه ولی هدف من از طراحیش ، کوچکی بود . تا حد ممکن .... این برد براحتی روی یک برد برد جا میگیره !! جامپر برای بوت لودر - برای ارتباط سریال یا پروگرام و برای swd روش هست ... ضمنا پایه ها کاملا به ترتیب بیرون اومدن :0013:

دوستان اگه بردی طراحی کردن یا تو نت دیدن اینجا لینک بدن ..

You can see links before reply
ولتاژش چقدره و به کجا وصل میشه چرا رگولاتور نداره؟

iaun
23-07-2012, 17:12
سلام
فایل شماتیک و pcb رو حتما دانلود کنید و از روی شماتیک پایه ها رو پیدا کنید . پایه ها بترتیب هست .
پایه 1 و2 هم gnd و vcc هستند . تغذیه هم 3.3 ولت هست . حواستون باشه پلاریته رو اشتباه نزنید و ولتاژ هم رگوله باشه چون برد محافظی نداره .. موقعی که تغذیه رو وصل میکنید led پاور روی برد روشن میشه ..

دو پین هدر 3 تایی هم برای پروگرام با swd یا bootloader تعبیه شده که جهت استفاده از روش بوت لودر حتما توجه کنید سطح ولتاژ 3.3 باشه ...

یا حق
دستت درد نکنه حرف نداری

iaun
23-07-2012, 17:38
سلام
فایل شماتیک و pcb رو حتما دانلود کنید و از روی شماتیک پایه ها رو پیدا کنید . پایه ها بترتیب هست .
پایه 1 و2 هم gnd و vcc هستند . تغذیه هم 3.3 ولت هست . حواستون باشه پلاریته رو اشتباه نزنید و ولتاژ هم رگوله باشه چون برد محافظی نداره .. موقعی که تغذیه رو وصل میکنید led پاور روی برد روشن میشه ..

دو پین هدر 3 تایی هم برای پروگرام با swd یا bootloader تعبیه شده که جهت استفاده از روش بوت لودر حتما توجه کنید سطح ولتاژ 3.3 باشه ...

یا حق
سلام چرا برا پروگرام با روش swd بعضی جاها از rxdو txd استفاده میشه بعضی جاها هم از پایه های swdioوswclk من گیج شدم می خوام با پروگرامر mini lpc این کارو بکنم بالاخره چیکار کنم؟

iaun
23-07-2012, 18:38
سلام مهندس :hi:
همین برد رو ساختید ؟



خواهش میکنم . راستش توقع داشتم از این صفحه بیشتر از اینا استقبال بشه . ولی مثل اینکه ..
در مورد آموزش خوشحال میشم کار ادامه پیدا کنه . ولی یکم سرم شلوغ شده فعلا ، ولی با این حال اگه دوستان مثل جناب مزارعی و .. کمک کنند خیلی خوب میشه . چون من تو نت گشتم متاسفانه یکم منابع و مثال برای این میکرو کمه . با این حال بازم میشه کار رو ادامه داد .
من برای شروع تا حالا با GPIO کار کردم و ارتباط سریال و همچنین از کتابخانه السیدی کارکتری رو از STM32 برای این میکرو پورت کردم .
دوستان اگه لطف کنند و همکاری کنند با هم میریم جلو ...

با تشکر.
خواهش میکنم روش پروگرام کردن این بوردا کامل توضیح بدین با شکل اگه ممکنه آخه بعضی جاها از rxو txاستفاده میکنن بعضی جاها از swclk و swo چه جوریه پس؟ با mini lpc?

sigma-mx
23-07-2012, 19:36
مهندس ببین شما اگه یه دیباگر مثل Jlink یا Ulink یا STLink و ... داری میتونی از پایه های SWD استفاده کنی و اگه نداری فقط میتونی از طریق بوت لودر سریال ( خطوط rx و tx ) میکرو رو پروگرام کنی ( نه دیباگ ) ...

برای پروگرام از طریق بوت لودر سریال هم یا از پین هدر مورد نظر استفاده میکنی و یا از پایه های rx,tx بیرون اومده از برد ... که به همون وصله درواقع ...

شما به برنامه Flash Magic احتیاج داری برای پروگرام . بعد ازاینکه اتصال فیزیکی رو برقرار کردی (اتصال Rx و Tx به کامپیوتر ) برنامه رو باز میکنی ... پورت سریال رو تنظیم میکنی و جامپر روی برد رو میبندی و دکمه ریستشو میزنی ... بعد جامپر رو برمیداری و پروگرام میکنی .... به همین سادگی ...

iaun
23-07-2012, 23:37
مهندس ببین شما اگه یه دیباگر مثل jlink یا ulink یا stlink و ... داری میتونی از پایه های swd استفاده کنی و اگه نداری فقط میتونی از طریق بوت لودر سریال ( خطوط rx و tx ) میکرو رو پروگرام کنی ( نه دیباگ ) ...

برای پروگرام از طریق بوت لودر سریال هم یا از پین هدر مورد نظر استفاده میکنی و یا از پایه های rx,tx بیرون اومده از برد ... که به همون وصله درواقع ...

شما به برنامه flash magic احتیاج داری برای پروگرام . بعد ازاینکه اتصال فیزیکی رو برقرار کردی (اتصال rx و tx به کامپیوتر ) برنامه رو باز میکنی ... پورت سریال رو تنظیم میکنی و جامپر روی برد رو میبندی و دکمه ریستشو میزنی ... بعد جامپر رو برمیداری و پروگرام میکنی .... به همین سادگی ...
واقعا ممنون تازه فهمیدم برنامه فلش مجیک را دارم فقط بگید پایه dtr در میکرو 1313 پایه شماره چنده 2یا 36؟

iaun
23-07-2012, 23:40
تو نقشه پروگرامر mini lpc 1پایه به نام dtr داره شمارش رو 1313 چنده که بهش متصل کنم

sigma-mx
24-07-2012, 01:50
طبق دیتاشیت ... پایه dtr باید به ریست میکرو یعنی p0_0 و پایه rts به پایه فعالساز بوت لودر یعنی p0_1 وصل بشه . تست کنید و نتیجه رو اینجا بگید ...

iaun
25-07-2012, 00:14
طبق دیتاشیت ... پایه dtr باید به ریست میکرو یعنی p0_0 و پایه rts به پایه فعالساز بوت لودر یعنی p0_1 وصل بشه . تست کنید و نتیجه رو اینجا بگید ...
واقعا ممنون از پاسخ هاتون

mj3747
25-07-2012, 02:22
شنیدم این میکرو کنترلر فقط از طریق SWD پروگرم میشه و نمیشه از JTAG برای این میکرو استفاده کنیم و یه پروگرامر خاص میخواد...
اول اینکه SWD چیه؟
بعد اینکه با پروگرامر jlink توی فروشگاه میشه این میکرو رو برنامه ریزی کرد؟ و اگه نمیشه چارش چیه؟
با سپاس :hi:

mj3747
25-07-2012, 20:13
شنیدم این میکرو کنترلر فقط از طریق swd پروگرم میشه و نمیشه از jtag برای این میکرو استفاده کنیم و یه پروگرامر خاص میخواد...
اول اینکه swd چیه؟
بعد اینکه با پروگرامر jlink توی فروشگاه میشه این میکرو رو برنامه ریزی کرد؟ و اگه نمیشه چارش چیه؟
با سپاس :hi:
دمتون گرم... یه جوابی به سوالات منم بدین دیگه، میخوام از فروشگاه خرید کنم آخه، دارم تحقیق میکنم که چه چیزایی رو برا شروع کار با nxp بخرم.

sigma-mx
25-07-2012, 22:31
سلام مهندس
jtag و swd فرقی نداره .. هر دو برای پروگرام و دیباگ هستند . تو میکرو هایی که معمولا پایه های کمی دارن ، بجای jtag که چند پین احتیاج داره swd میگذارند که دو پین فقط لازم داره ... معمولا دیباگر ها مثل jlink و ulink و stlink هر دو نوع پروتکل رو پشتیبانی میکنند ..

swd هم مخفف serial wire debug هست ...

بله با هر سه نوع دیباگر تو فروشگاه jlink و ulink و stlink میشه پروگرامش کرد ... علاوه بر اون از بوت لودر سریال هم برای پروگرام کردن میشه استفاده کرد ...

یا حق

Shapour_Ardebil
26-07-2012, 19:26
شنیدم این میکرو کنترلر فقط از طریق SWD پروگرم میشه و نمیشه از JTAG برای این میکرو استفاده کنیم و یه پروگرامر خاص میخواد...
اول اینکه SWD چیه؟
بعد اینکه با پروگرامر jlink توی فروشگاه میشه این میکرو رو برنامه ریزی کرد؟ و اگه نمیشه چارش چیه؟
با سپاس :hi:


بخدا یادم نیست از کجا تا امانتداری را انجام داده باشم ولی از اینترنت گرفتم طریقه پروگرام بصورت SWD


You can see links before reply

kavir
27-07-2012, 04:17
یک مورد اینکه در نحوه ارتباط دهی JTAG و SWD یک فرق کوچیکی داره که دقیقا یادم نیست برای کدومش بود که باید یک مقاومت 10 کیلو زمین کنید در اصل 99٪ در کرتکس ها از swd استفاده میکنند و کسی JTAG استفاده نمیکنه همزمان نمیشه از هر دو پروتکل کرد ولی همونطور که اقای سعید گفتند Jlink ,ulink,stlink ساپورت میکنه

Shapour_Ardebil
30-07-2012, 17:42
با سلام

دوستان گرامی چون مطلب زیادی در اینترنت برای میکرو کنترلر lpc1313 پیدا نمیشود واندک مطالب نیز بصورت پراکنده بود لذا تصمیم گرفتم اندک مطالب موجود را در یکجا جمع آوری و ارائه نمایم و اینجانب هیچ ادعایی نیز در مورد مطالب ارائه شده ندارم .
چنانچه موجب رنجش دوستانی را که مطلب توسط آنها درسایت و پست های مختلف نوشته شده و نامی از آنها نیاوردم شدم از صمیم قلب عذر خواهی میکنم زیرا مطالب درطول زمان و به مرور گردآوری و جمع بندی شده و متاسفانه منابع را یاداشت نکردم

iaun
09-08-2012, 19:14
سلام لطفا برای کار با 1313 و توابع cmsis راهنمایی کنید یا منبع خوب معرفی کنید

iaun
09-08-2012, 19:27
مهندس معمولا Pullup و PullDown برای حالت ورودی مورد استفاده قرار میگیره چون در حالت خروجی وضعیت پین مشخصه و Float نیست در نتیجه تاثیری نداره ... من دو مثال برای حالت ورودی و خروجی میزارم ...

برای خروجی :


#include "LPC13xx.h"


//************************************************** *****************************
int main (void)
{
uint32_t i;

LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6); // AHB Config
LPC_IOCON->PIO0_3=0x000000C0; // P0_3 Inactive PD/PU , GPIO
LPC_GPIO0->DIR=1<<3; // P0_3 Output

while(1)
{
LPC_GPIO0->MASKED_ACCESS[0xfff] |= 1<<3; // Output High
for(i=0;i<=10000000;i++);
LPC_GPIO0->MASKED_ACCESS[0xfff] &= ~(1<<3); // Output Low
for(i=0;i<=10000000;i++);
}
}
//************************************************** *****************************



برای ورودی :


#include "LPC13xx.h"


//************************************************** *****************************
int main (void)
{
LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6); // AHB Config
LPC_IOCON->PIO0_3=0x000000D0; // P0_3 PullUp , GPIO
LPC_IOCON->PIO0_2=0x000000C0; // P0_2 Inactive PU/PD , GPIO
LPC_GPIO0->DIR &= ~(1<<3); // P0_3 Input
LPC_GPIO0->DIR |= 1<<2; // P0_2 Output

while(1)
{
if (((LPC_GPIO0->MASKED_ACCESS[0xfff])>>3)&0x01) // if P0_3=1
LPC_GPIO0->MASKED_ACCESS[0xfff] |= 1<<2; // P0_2 High
else
LPC_GPIO0->MASKED_ACCESS[0xfff] &= ~(1<<2); // P0_2 Low

}
}
//************************************************** *****************************



چرا کد [#include "gpio.h"] را به اولش اضافه نکردین؟ اضافه کنیم چه فرقی داره تو مثالاش اضافه کرده ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

mj3747
16-08-2012, 14:12
کتابخونه LPC1313 رو برا Altium میخوام. شماتیک و PCB

mohpooria
19-08-2012, 14:20
سلام
من با lpc1114 کار میکنم ، فعلا که فرق خاصی با lpc1313 نداره
دو تا سوال ، این بافر FIFO نفشش در UART دقیقا چیه ؟ مخصوصا برای فرستنده ، می شه مستقیم به کل FIFO دسترسی داشت یا فقط با THR و RBR میشه ؟ اگه نمیشه پس یه جورایی FIFO بی کاربرده
میشه با استفاده از FIFO در گیرنده مثلا مشخص کرد بعد از 14 تا کاراکتر که دریافت کردی وقفه بده ، حالا من نفهمیدم چه جوری به 14 تا دسترسی داریم ! یعنی یک داده رو با RBR می خوانیم خود FIFO شیفت میده داده ها رو بعدی میاد داخل RBR ?
نمیشه آرایه ای یک جا خوند ؟
احتمالا FIFO برای فرستاندن هم یک صف ایجاد می کنه یا کار دیگم می کنه ؟

اونوقت یه سوال دیگه ، از دوستان کسی می تونه یه مثال وقفه بزاره ؟ مثلا برای یک پایه های ورودی و هم برای UART ، حالا زیاد میکروش مهم نیس ، Cortex باشه که مشابه باشه ، یکمم توضیح در باره وقفه و این بردارها بدید ممنون میشوم

mzarkoob
19-08-2012, 16:14
سلام
نقش FIFO که یک بافره که وقتی داره میکرو یه داده ای که اومده را میخونه یکی دیگه و چند تا دیگه اومد اونها از دست نرند و بروند در صف که به نوبت به کارشون رسیدگی بشه ! اگه این قسمت را فعال نکنی اولی که اومد را میخونه بعد میره دومی و داده های بعدی که اومده از دست میره. این را در سیمولینک می تونید ببینید چون سرعتش کمتره در فیلمی که گذاشتم این کار انجام شده ملاحظه می کنید که تا برنامه شروع میشه از کاراکتر Q تا m را در صفحه کلید پشت سر هم زدم ولی تا l را بیشتر دریافت نکرده و 7 ، 8 تا دیگه در بافر جا نمی شوند.
همان طور که در رجیستر های FIFO شرح داده هم برای ارسال هست هم برای دریافت
وقفه هم قسمت وقفه IER را فعال می کنید. مثلا دریافتش را . تا یه کاراکتر اومد میره در زیر روال وقفه. حالا باید یه کاری بکنید که تا زیروال تموم شد بیاد بیرون و گر نه همون تو میمونه هی ازتون دیتا می خواد! خوب حالا باید چیکار کنیم تا رفت در زیر روال وقفه یه رشته را خوند همون تو نمونه!؟

mohpooria
19-08-2012, 17:15
سلام
نقش fifo که یک بافره که وقتی داره میکرو یه داده ای که اومده را میخونه یکی دیگه و چند تا دیگه اومد اونها از دست نرند و بروند در صف که به نوبت به کارشون رسیدگی بشه ! اگه این قسمت را فعال نکنی اولی که اومد را میخونه بعد میره دومی و داده های بعدی که اومده از دست میره. این را در سیمولینک می تونید ببینید چون سرعتش کمتره در فیلمی که گذاشتم این کار انجام شده ملاحظه می کنید که تا برنامه شروع میشه از کاراکتر q تا m را در صفحه کلید پشت سر هم زدم ولی تا l را بیشتر دریافت نکرده و 7 ، 8 تا دیگه در بافر جا نمی شوند.
همان طور که در رجیستر های fifo شرح داده هم برای ارسال هست هم برای دریافت
وقفه هم قسمت وقفه ier را فعال می کنید. مثلا دریافتش را . تا یه کاراکتر اومد میره در زیر روال وقفه. حالا باید یه کاری بکنید که تا زیروال تموم شد بیاد بیرون و گر نه همون تو میمونه هی ازتون دیتا می خواد! خوب حالا باید چیکار کنیم تا رفت در زیر روال وقفه یه رشته را خوند همون تو نمونه!؟
مرسی بابت توضیح ، همان طور که حدس زدم همون صف رو درست میکنه ، خوب می شد اگه به همه ی fifo دسترسی داشت ، برای ارسال وقتی fifo داریم یک فلگ برای ارسال
کامل داریم و سوال دیگه اینکه از کجا بفهمیم fifo پرشده ، مثلا در ارسال

برای وقفه من اصلا تا حالا برنامه ننوشتم!
روتین وقفه با چه سینتکسی مشخص میشه ؟ وقفه ها مثه avr آدرس دارند هر کدام ؟ {فکر نکنم ، چون یه تعداد وقفه رو نمیشه بیشتر فعال کرد!، درسته ؟}

{انکته جالب چقدر حجم فیلم کم شده با فشرده سازی! با چه نرم افزاری گرفتید فیلم ؟ avi ،raw دیتا است ؟}

mzarkoob
19-08-2012, 20:15
زیر روال وقفه شبیه زیر روال سایر وقفه هاست:

/************************************************** ***************
UART0 Interrupt service function
************************************************** *******************/
void UART0_IRQHandler(void) {
/* write code here */


}مطابق مطالب دیتا شیت در رجیستر FCR بیتهای RX Trigger Level باید این جور باشه که تا 1 یا 4 یا .. کاراکتر اومد وقفه بده ولی تستی که کردم عین خیالش نیست و تا اولی اومد وقفه میده! برای 2378 هم همین طور بود
{با نرم افزار HyperCam 3 ---> منتظر فیلم های آموزشی شما هستیم ! :0013:}

mohpooria
19-08-2012, 21:45
پس یه جای کار میلنگه برا وقفه
مرسی از نرم افزار ، به روی چشم حتما:0013:

اگه لطف کنید یه تابع وقفه برای یک پایه با تنظیماتش مثال بزنید ممنونم

یه سوال دیگه در قسمت تایمر ها ، من یه جورایی از پیاده سازی تایمر ها خوشم اومد و رجیسترهای مقایسه گرش ولی سوالی که برام مطرحه اینه که توی مد pwm کار خاصی نسبت به موقعی که یک پایه رو در حالت مقایسه تغییر وضعیت یا مقدار دهی می کنیم نداره ، فقط در pwm سرعتش دوبرابره ، یا به غیر از این دیگه موردی هم هست ؟ (یکم شیفت فاز در مد pwm داریم ، مو قع تغییر مقدار ، درسته ؟)

mzarkoob
20-08-2012, 18:02
من درست منظورتون را از این سوال تایمر و pwm نفهمیدم که چی هست!

mj3747
20-08-2012, 21:38
من یه شماتیک برا هدر بورد LPC1313 کشیدم...
دوستانی که بیشتر با این میکرو کار کردن یه لطفی کنن شماتیک رو تایید کنن تا PCB رو بکشم.
ضمنا از آقا سعید به خاطر مدار هدری که گذاشت تشکر میکنم، چون از اون مدار هم الگو گرفتم.
دوستان یه Net به اسم "5V_JLINK" هست که من یکم بهش شک دارم و نسبت به این بیشتر تاکید دارم :hi:
با سپاس.

sigma-mx
21-08-2012, 00:02
مهندس به نظر مشکلی نداره ولی اون 5v_jlink رو نزار .. من یه بردی که قبلا طراحی کرده بودم ، الان نگاه کردم دیدم این پایه رو pulldown کردم . معمولا تو شماتیک ها دیدم که اینو NC کردن . شما احتیاجی به این پین نداری اصلا ...

اینجا رو یه نگاه بنداز کمکت میکنه :
You can see links before reply

mj3747
21-08-2012, 00:16
سعید جا پایه های 1 و 2 پروگرامر jlink برا تغذیه خود پروگرامره؟ یعنی ولتاژ مورد نیاز برا کارکرد پروگرامر رو تامین میکنه؟ یا اینکه اون پایه ها یه ولتاژ از خروجی jlink هستن؟
و اینکه اون پایه 5V_jlink رو با یه 10 کیلو pulldown کنم؟

mj3747
21-08-2012, 22:37
دوستان من PCB این هدر رو طراحی کردم، دمتون گرم یه نگاهی بندازین ببینید همه چیزش درسته، مخصوصا قسمت Jlink .
بعد اینکه نمیدونم چرا به Con1 و هدر Jlink گیر داده (سبز کرده)، اینم لطفا حلش کنید.
با سپاس :hi:

mj3747
23-08-2012, 14:16
به نظر دوستان فقط میان مدار دانلود میکنن بعدم ما رو به خیر و شما رو به سلامت، بابا دمتون گرم، شما که این تاپیک راه انداختین و 6 تا پیراهن بیشتر از ما پاره کردین بیاید ادامه بدین دیگه. :sa:

iaun
23-08-2012, 19:19
بسیار خوب بود con2 برا چیه با swd هم پروگرام میشه؟ اگه تست کردین جواب داد حتما خبر بدین

mohpooria
23-08-2012, 21:15
خوب همان طور که می دونید و در دیتاشیت نوشته شده است ، وقتی یک پایه از پیکربندی ورودی به خروجی می رود مقدار همان لحظه ی ورودی به خروجی کشیده می شود ، به طور مثال در حالت پیش فرض PullUp ها برای پایه ها فعال است ، و اگر آن پایه را به خروجی پیکربندی کنید ، مقدار آن برابر High خواهد گردید ، این قابلیت از شناور شدن پایه جلوگیری می کند.

خب ، پس باید وقتی PullDown فعال می گردد ، و پایه به خروجی می رود ، مقدار آن LOW گردد ، نکته ای که مطرح است این است که اگر این دو عمل را پشت سر هم انجام دهید ، پایه LOW نخواهد شد ، همان حالت قبلی که PullUp است اجرا میگردد ، اگر بخواهیم این اتفاق بیاقتد باید بین این دو دستور طبق اندازه گیری های من 9 تا کلاک فاصله بیافته (در میکرو AVR وقتی یه مقدار در رجیستر PORT قرار گرفت 2 تا کلاک می خواست تا در داخل رجیستر PIN قرار بگیرد این رو از دیتاشیت هم می شد فهمید ، ولی این رو من از دیتاشیت LPC11XX نتوستم بفهمم )

اگر امکان دارد این تست رو انجام بدهید و در این جا اطلاع دهید که چند کلاک طول می کشد :

LPC_IOCON -> PIO2_6 =(0<<10) | (0x3<<6) | (0<<5) | (0x1<<3) | (0x0);
//i++;
//i++ --->delay
LPC_GPIO2 ->DIR |=1<<6;


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

برای تعداد کلاک از سیمولاتور Keil می تونید کمک بگیرید
Debug-> Execution... ->Show Time

mzarkoob
23-08-2012, 22:27
به طور مثال در حالت پیش فرض PullUp ها برای پایه ها فعال است ، و اگر آن پایه را به خروجی پیکربندی کنید ، مقدار آن برابر High خواهد گردید

سلام
این مورد که فرمودید مطمئنید همینه؟ ببینید در حالت پیش فرض که تمام پایه ها pullup هستند:

You can see links before reply

تا پایه ای را خروجی می کنیم دیگه خروجی پایه 1 نیست:

You can see links before reply

mohpooria
24-08-2012, 00:42
بله من طبق دیتاشیت گفتم
اصلا در دیتاشیت LPC13XX و LPC11XX رجیستری به نام FIODIR نداریم ، مطمئن هستید این برای کرتکس هست ؟
البته من با سخت افزار هم تست کردم، دقیقا مثله دیتاشیت هست
You can see links before reply

لطفا مورد بالا را تست کنید

mzarkoob
24-08-2012, 01:24
البته من برای LPC13XX و LPC11XX نگفتم این LPC_GPIO0->FIODIR از lpc1768 گفتم که خب اونم کورتکسه!
البته من با رجیستر های 1313 کار نکردم ولی خیلی نباید فرق کنه! من الان نگاه کردم داشت که:

You can see links before reply

و بازم البته منظور اینه که رجیستری باشه که کار DIR را انجام بده حالا اسمش هر چی می خواد باشه
یعنی این موردی که در پست قبلی گفتم در 1313 متفاوته!؟

mohpooria
24-08-2012, 01:38
برای io دو تا رجیستر داریم (اگر نخواهیم از وقفه استفاده کنیم)
dir کار همون lpc_gpio0->fiodir احتمالا
ولی مطالبی که چند پست قبل گفتم رو تست کردم ، به 1768 دسترسی ندارم تست کنم.
من یه جورایی نمی فهمم که چرا باید این تعداد کلاک بخوره تا این تنظیمات اعمال بشه ، گفتم شاید اشتباه کرده باشم برای همین از دوستان خواستم تا تست کنند.

mj3747
24-08-2012, 02:39
بسیار خوب بود con2 برا چیه با swd هم پروگرام میشه؟ اگه تست کردین جواب داد حتما خبر بدین
يه هدر 20 پايه گذاشتم برا jlink كه از طريق SWD هم پروگرام بشه.
Con1 هم برا ورودي تغذيه 5 ولت.
Con2 هم برا bootloader

farshid.62
31-08-2012, 19:49
درود
کسی تا حالا با تایمر کار کرده؟
من با keil برنامه نوشتم. شبیه سازی درسته ولی وقتی پروگرم می کنم برنامه تایمرش کار نمی کنه. رجیستر های تایمر رو وقتی می خونم می بینم مقدارش صفر هست و اونی که من set کزدم نیست.
کسی برنامه نمونه که سخت افزاری ازش نتیجه گرفته داره؟

mzarkoob
31-08-2012, 20:08
سلام
مثالهای nxp را تست کردید؟
Cortex-M3 :: NXP Semiconductors (You can see links before reply)
LPC1313FBD48 (You can see links before reply)
LPC1313FHN33 (You can see links before reply)
راستی مگه 1313 مدل cortex m0 نیست پس در سایت nxp در طبقه بندی در cortex m3 زده!

mzarkoob
31-08-2012, 20:35
سلام
مثالهای nxp را تست کردید؟
Cortex-M3 :: NXP Semiconductors (You can see links before reply)
LPC1313FBD48 (You can see links before reply)
LPC1313FHN33 (You can see links before reply)

ببخشید این مثالها را چطوری میشه دانلود کرد!! باید تقاضا داد مستقیم دنلود نمی شه البته بعد از عضویت ii998) تا حالا از اینجا سمپل نگرفته بودم

mehdi_nxp
31-08-2012, 22:21
سلام به همگی
بعد از مدتی کار کردن با این میکرو الان میخام که با cmsis کار کنم.
از دوستانی که با این میکرو کار میکنند یه پروژه ساده (همون چشمک زن خودمون:0013:) با cmsis بزارید یا راهنمایی کنید که چه فایل هایی رو باید به پروژه اضافه کنم؟چون هر کار میکنم آخرش یک مشت ارور میده.

mzarkoob
31-08-2012, 23:25
سلام به همگی
بعد از مدتی کار کردن با این میکرو الان میخام که با cmsis کار کنم.
یا راهنمایی کنید که چه فایل هایی رو باید به پروژه اضافه کنم؟چون هر کار میکنم آخرش یک مشت ارور میده.
سلام
برای ایجاد فایل در cmsis:
ایـــــــــران میـــــــکرو ™ - مشاهده یک موضوع - مجموعه آموزش های میکرو کنترلر lpc1768 (You can see links before reply)
این برای 1768 هست که تغییرش بدید و از کتابخانهای 1313 استفاده کنید.
اینم stm
آموزش ساخت پروژه با توابع cmsis - ایـــــــــران میـــــــکرو ™ (You can see links before reply)
کلیاتش مثل همه

mehdi_nxp
31-08-2012, 23:47
ممنون
ولی اگه میشد یه پروژه آماده بهم بدید بهتر میشد چون بعضی از فایل هارو ندارم.
از کجا میتونم همه کتابخونه های cmsis و همه فایل های مورد نیاز رو دانلود کنم؟

mzarkoob
01-09-2012, 00:07
فکر کنم اینجا:
NXP Semiconductor founded by Philips Electronic - Microcontrollers [Support - LPCXpresso] (You can see links before reply)
قسمت LPC1300 Series
البته انگار مثالهاش با کیل نبود

mehdi_nxp
01-09-2012, 00:21
من این فایل رو ندارم startup_LPC13xx.s که مربوط به cmsis میشه.
همه جا گفته که توی فولدر کتابخونه های cmsis هست.حالا کتابخونه هارو از کجا بیارم اونجایی هم که شما گفتی که کتابخونه ها نبودن.

mzarkoob
01-09-2012, 00:35
من این فایل رو ندارم startup_LPC13xx.s که مربوط به cmsis میشه.
همه جا گفته که توی فولدر کتابخونه های cmsis هست.حالا کتابخونه هارو از کجا بیارم اونجایی هم که شما گفتی که کتابخونه ها نبودن.
این فایل startup_LPC13xx.s که برای هر پروژه ای بعد از انتخاب شماره آی سی اضافه میشه
برای کتابخونه ها در همون سایت nxp یه سرچ بزنید قائدتا باید باشه

mehdi_nxp
01-09-2012, 00:44
این فایل startup_LPC13xx.s که برای هر پروژه ای بعد از انتخاب شماره آی سی اضافه میشه
برای کتابخونه ها در همون سایت nxp یه سرچ بزنید قائدتا باید باشه
اما توی اون فایل های آموزشی که معرفی کردید گفته که این فایل رو باید از داخل کتابخونه های cmsis به پروژه اضافه کرد.

mzarkoob
01-09-2012, 01:01
اگه کیل ورزن جدید باشه مشکلی نداره و ایرادی هم نمی گیره

mj3747
24-09-2012, 13:21
LPC1313 رو با Flash Magic چطوری پروگرام کنم؟
با مبدل مبدل usb2serial کار میکنم، PL2303.

mj3747
09-10-2012, 00:58
دوستان من چطوری توی keil یه پروژه بسازم و با LPC1313 شروع به برنامه نویسی کنم؟

sigma-mx
05-12-2012, 13:41
سلام
یکی از دوستان درخواست pdf از شماتیک برد رو کردند که تو ضمیمه پیوست کردم . عکس pcb هم که تو صفحه اول هست . اگه کسی خواست به پروتیوس تبدیلش کنه لطف کنه اینجا بزاره تا بقیه هم استفاده کنند ...

یا حق

mehdi_nxp
05-12-2012, 19:00
سلام
ممنونم مهندس
ولی منظورم pdf از pcb بود.
اگه اینم لطف کنید که دیگه عالی میشه.

sigma-mx
05-12-2012, 19:21
ok . باشه ، ولی چجور pdf بزارم ؟ positive یا negative ?

mehdi_nxp
05-12-2012, 19:28
ممنون
positive

sigma-mx
05-12-2012, 19:42
بفرمایید ...

top و bottom بصورت positive
top و bottom راهنما ( جهت راهنمای مونتاژ )

فایل های خروجی بطور مستقیم از پروتل export شدند با کیفیت بالا

cheshmayebaru
09-12-2012, 22:38
دوستان من قراره arm رو واسه یاد گرفتن شروع کنم-keil4.2رو دانلود کردم-دیتا شیت یکی دوتا از LPCxxxxرو دارم- فک کنم یه کتاب هم نیاز باشه (از دوستانی که کتاب های ارم رو خوندن میخوام یکی از کتاب ها که با keilاموزش داده و سریLPCزو بررسی میکنه معرفیکنه )
حلا باید از کجا شروع کنم

mj3747
15-01-2013, 19:17
اساتید...
من میخوام از پورت هایی که در حالت عادی I/O نیستن به عنوان I/O استفاده کنم، اما به عنوان مثال تو این برنامه از P0_10 میخوام استفاده کنم برنامه کامپایل نمیشه، لطفا راهنماییم کنید :hi:

#include "LPC13xx.h"

void delay(void)
{
int i=65000;
while(i--);
}

void main(void)
{
LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6);
LPC_GPIO0->DIR = 0xfff;
LPC_IOCON->SWCLK_PIO0_10 = 0x000000C1;

while(1)
{

LPC_GPIO0->DATA = 0xfff;
delay();
LPC_GPIO0->DATA = 0x0;
delay();

}
}

mj3747
15-01-2013, 19:19
یه سوال دیگه...
وقتی توی keil برنامه error میده از کجا بفهمم برا کدوم خط برنامه ست؟

Doloop
15-01-2013, 23:16
اگه روی ارور دابل کلیک کنی کنار خط مربوط به ارور یه فلش ظاهر میشه

mj3747
16-01-2013, 00:35
اساتید...
من میخوام از پورت هایی که در حالت عادی I/O نیستن به عنوان I/O استفاده کنم، اما به عنوان مثال تو این برنامه از P0_10 میخوام استفاده کنم برنامه کامپایل نمیشه، لطفا راهنماییم کنید :hi:

#include "LPC13xx.h"

void delay(void)
{
int i=65000;
while(i--);
}

void main(void)
{
LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6);
LPC_GPIO0->DIR = 0xfff;
LPC_IOCON->SWCLK_PIO0_10 = 0x000000C1;

while(1)
{

LPC_GPIO0->DATA = 0xfff;
delay();
LPC_GPIO0->DATA = 0x0;
delay();

}
}

مرسی دادا :hi:
میدونی مشکل برنامه ای که تو پست قبلی دادم چیه؟

Doloop
16-01-2013, 02:25
اگه از ابزار کد Code برای نمایش برنامه استفاده کنی بهتره
برای مشخص شدن مشکل کار هم اگه ارور میده بهتره متن ارور رو قرار بدی :wink:
اگر هم ارور نمیده فایل پروژه رو قرار بده :wink:

mj3747
17-01-2013, 12:46
اینم برنامه من
حسین جان یه نگاش کن ببین ایرادش کجاست :hi:

sigma-mx
17-01-2013, 21:37
مهندس برنامه بدون اررور کامپایل میشه و تو سیمولاتور هم ران میشه ، مشکلت کجاست دقیقا ؟!

mj3747
17-01-2013, 22:11
یعنی p0_10 به صورت gpio کار میکنه درست؟
آخه من led وصل میکنم چشمک نمیزنه!!!!

sigma-mx
17-01-2013, 23:10
خب خودن تو کانفیگش اونو Inactive کردی !!!! بجای 0xC1 بزار 0xC9 فکر کنم درست بشه .

mj3747
18-01-2013, 18:44
آقا این برنامه کامپایل نمیشه ii998)

sigma-mx
18-01-2013, 21:23
برا من که راحت کامپایل شد ! فکر کنم کتابخانه cmsis میکروی شما فرق میکنه . از سایت nxp برو لایببری شو دانلود کن .

mj3747
18-01-2013, 22:03
این جواب نمیده؟

SWCLK_PIO0_10 |=0xاگه نشد احتمالا اسم SWCLK_PIO0_10 توی لایبرری مربوطه چیز دیگه ای هستش...حالا بزرگان آرم بهتر می دونن

آقا اینم جواب نداد :unh:

mj3747
18-01-2013, 22:07
برا من که راحت کامپایل شد ! فکر کنم کتابخانه cmsis میکروی شما فرق میکنه . از سایت nxp برو لایببری شو دانلود کن .

سعید جان لطف میکنی توضیح بدی از اول ساخت پروژه چیکار کنم، شاید من این مراحل اشتباه میرم.
کتابخونه ها رو هم دانلود کردم، بازم شما کتابخونه های خودت بذار تا با اونام تست کنم.
راستی اگه مربوط به ورژن keil میشه من از ورژن 4.10 استفاده میکنم.
:hi:

mj3747
18-01-2013, 23:04
آقا میخوام LPC1313 رو پروگرام کنم این ارور میده :unh:
تا قبل از اینکه ای دستور بنویسمدرست بودا !!! نکنه مثل فیوز بیت های AVR ii998)
LPC_IOCON->RESET_PIO0_0 = 0x000000D1

sigma-mx
18-01-2013, 23:07
مهندس فایل و پروژه ایراد نداره . میگم من پروژه تو رو باز میکنم و کامپایل میکنم ! مشکلی نداره .
مشکل فکر میکنم به ورژن کیل برمیگرده . کیل من 4.23 هست . من فایل های استفاده شده تو این پروژه رو که تو کیل من بود برات آپ کردم . اینا رو تو مسیری که میگم جایگزین کن فکر کنم حل بشه ، منتها قبلیا رو قبلش یجا نگه دار .....
پوشه Include رو تو مسیر Keil\ARM\CMSIS کپی کن .
پوشه LPC13xx رو هم تو مسیر \Keil\ARM\Inc\NXP کپی کن .

mj3747
18-01-2013, 23:44
آقا من این دستور نوشتم:
LPC_IOCON->SWCLK_PIO0_10 = 0x000000D1
حالا SWCLK شده GPIO و الان هم میکروم پروگرام نمیشه :unh:
چارش چیه؟

sarbaz13
18-01-2013, 23:59
مهندس فایل و پروژه ایراد نداره . میگم من پروژه تو رو باز میکنم و کامپایل میکنم ! مشکلی نداره .
مشکل فکر میکنم به ورژن کیل برمیگرده . کیل من 4.23 هست . من فایل های استفاده شده تو این پروژه رو که تو کیل من بود برات آپ کردم . اینا رو تو مسیری که میگم جایگزین کن فکر کنم حل بشه ، منتها قبلیا رو قبلش یجا نگه دار .....
پوشه Include رو تو مسیر Keil\ARM\CMSIS کپی کن .
پوشه LPC13xx رو هم تو مسیر \Keil\ARM\Inc\NXP کپی کن .
سلام آقای sigma-mx (You can see links before reply)
به نظر من داره این تایپیک از مسیر اصلیش جدا میشه.
شما هنوز شروع نکرده جواب به سوالات بچه ها میدین این هم به خاطر این هست که بچه ها سرخود رفتن کیل نصب کردن میخوان یک شبه lpc1313رو بنویسن و باهاش کار کنند.
خوب شما جواب ندید به سوالات و آموزشتون رو از پایه که نحوه نصب کیل با ورژنی که خودتون کار می کنید بگید تا نوشتن کد و کامپیل کردن تا برسه به انجام یک پروژه

mj3747
19-01-2013, 00:29
سلام آقای sigma-mx (You can see links before reply)
به نظر من داره این تایپیک از مسیر اصلیش جدا میشه.
شما هنوز شروع نکرده جواب به سوالات بچه ها میدین این هم به خاطر این هست که بچه ها سرخود رفتن کیل نصب کردن میخوان یک شبه lpc1313رو بنویسن و باهاش کار کنند.
خوب شما جواب ندید به سوالات و آموزشتون رو از پایه که نحوه نصب کیل با ورژنی که خودتون کار می کنید بگید تا نوشتن کد و کامپیل کردن تا برسه به انجام یک پروژه
مهندس جان کسی نخواست اینجا به یه شب تا فی خالدون این میکرو رو یاد بگیره، شمام اگه به خودت یکم زحمت بدی و صفحات اول این تاپیک بخونی میبینی که از ساخت یه هدر بورد شروع شده و تا اینکه به اینجا رسیده، اگه برا ساخت یه پروژه و کامپایل و ... مشکل داری این چیزا تو تاپیکای دیگه مربوط به ARM بحث شده، در ضمن حدود 6 تا کتاب تو بازار اومده که من 4 تاشو گرفتم و با این حال بازم دارم به این تاپیکا مراجعه میکنم، چون منابع کاملی برا ARM نیست.
پیشنهاد میکنم کتاب "مرجع کامل میکروکنترلرهای ARM تالیف مهندس خوش باطن" رو بگیری تا راه بیفتی.
موفق باشی. :hi:

Doloop
19-01-2013, 00:49
مهندس در مورد اون ارور برای پروگرم کردن
با جیلینک میخای پروگرم کنی؟
تنظیمات جیلینک رو انجام دادی؟

mj3747
19-01-2013, 00:58
مهندس در مورد اون ارور برای پروگرم کردن
با جیلینک میخای پروگرم کنی؟
تنظیمات جیلینک رو انجام دادی؟

آره حسین جان، با جیلینک.
تا قبل اون دستور درست پروگرام میشد اما بعد اینکه همون پورت GPIO کردم دیگه ارور داد.
تنظیمات خاصی هم نداشت فقط میذاشتم رو SWD :unh:

sigma-mx
19-01-2013, 01:13
سلام آقای sigma-mx (You can see links before reply)
به نظر من داره این تایپیک از مسیر اصلیش جدا میشه.
شما هنوز شروع نکرده جواب به سوالات بچه ها میدین این هم به خاطر این هست که بچه ها سرخود رفتن کیل نصب کردن میخوان یک شبه lpc1313رو بنویسن و باهاش کار کنند.
خوب شما جواب ندید به سوالات و آموزشتون رو از پایه که نحوه نصب کیل با ورژنی که خودتون کار می کنید بگید تا نوشتن کد و کامپیل کردن تا برسه به انجام یک پروژه

سلام دوست عزیز
راستش مثل اینکه به این شکل بهتر جواب میده ، اول این تاپیک که فکر کنم چند ماه بیشتر میگذره ازش ، گفتم که من استارت رو میزنم اونایی که همکاری میکنن بیان جلو . یه چیزایی هم شروع کردم ولی کسی همکاری نکرد . تجربه شروع کردن چند تاپیک و آموزش نشون داده که تنهایی کار جلو نمیره ! اگر هم شخص خیلی پشتکار داشته باشه 1 ماه بعد خسته میشه و حوصله ادامه کار رو نداره ! ولی همین استارت زدن هم خیلی مهمه ، بهتره آدم قولی نده که بعد نتونه عملیش کنه . حالا همین نصب کیل یا کار با اون هم البته مربوط به این بخش نمیشه و تو انجمن قبلا بارها آموزش داده شده . در مورد آموزش این میکرو از صفر و نحوه برنامه نویسی هم باز مطالب مشترک و یقینا تکراری هست . چیزی که متفاوته تنها رجیستر ها و واحد های سخت افزاری هستند که اونها هم تو دیتاشیت میکرو کامل توضیح داده شده اند پس برای شروع باید از صفحه 1 دیتاشیت (manual ) تا آخر رو خوند ! راه میانبر و سریع ! بهتره تا منتظر یه نفر آدم وایسه که همینو تو 1 سال خط به خط اینجا بنویسه . حالا هر جا کسی چیزی رو متوجه نشد دنبالش میره یا نهایتا میپرسه .
باور کنید چند برابر اطلاعات نصیبتون میشه . شروع آموزش میکروی ST تو همین انجمن رو ببینید !

ضمنا یکی از دلایل پیشرفت کم این تاپیک منابع بسیار کم اون تو نت هست . ولی بدلیل تشابه رجیسترها در مواردی میشه از لایببریهای 1768 یا حتی لایببری مخصوص 1313 مربوط به کامپایلر CoIDE استفاده کرد . تو سایتش قابل دانلود هستند.

یا حق

mj3747
19-01-2013, 13:26
از دوستان کسی هست بتونه راهنمایی کنه؟
پایه SWCLK رو چیکارش کنم؟
به نظر بعد اینکه این پایه رو GPIO کردم دیگه نمیتونم میکرو رو پروگرام کنم ii998)

sarbaz13
19-01-2013, 13:32
سلام دوست عزیز
راستش مثل اینکه به این شکل بهتر جواب میده ، اول این تاپیک که فکر کنم چند ماه بیشتر میگذره ازش ، گفتم که من استارت رو میزنم اونایی که همکاری میکنن بیان جلو . یه چیزایی هم شروع کردم ولی کسی همکاری نکرد . تجربه شروع کردن چند تاپیک و آموزش نشون داده که تنهایی کار جلو نمیره ! اگر هم شخص خیلی پشتکار داشته باشه 1 ماه بعد خسته میشه و حوصله ادامه کار رو نداره ! ولی همین استارت زدن هم خیلی مهمه ، بهتره آدم قولی نده که بعد نتونه عملیش کنه . حالا همین نصب کیل یا کار با اون هم البته مربوط به این بخش نمیشه و تو انجمن قبلا بارها آموزش داده شده . در مورد آموزش این میکرو از صفر و نحوه برنامه نویسی هم باز مطالب مشترک و یقینا تکراری هست . چیزی که متفاوته تنها رجیستر ها و واحد های سخت افزاری هستند که اونها هم تو دیتاشیت میکرو کامل توضیح داده شده اند پس برای شروع باید از صفحه 1 دیتاشیت (manual ) تا آخر رو خوند ! راه میانبر و سریع ! بهتره تا منتظر یه نفر آدم وایسه که همینو تو 1 سال خط به خط اینجا بنویسه . حالا هر جا کسی چیزی رو متوجه نشد دنبالش میره یا نهایتا میپرسه .
باور کنید چند برابر اطلاعات نصیبتون میشه . شروع آموزش میکروی ST تو همین انجمن رو ببینید !

ضمنا یکی از دلایل پیشرفت کم این تاپیک منابع بسیار کم اون تو نت هست . ولی بدلیل تشابه رجیسترها در مواردی میشه از لایببریهای 1768 یا حتی لایببری مخصوص 1313 مربوط به کامپایلر CoIDE استفاده کرد . تو سایتش قابل دانلود هستند.

یا حق
آقای sigma-mx (You can see links before reply)
من برای خود شما گفتم. اینجانب خودم با این آسی کار کردم و تا جای که کارمو راه بندازه بلدم.من از اول تایپیک خوندم یعنی صفحه 1 تا همین صفحه 13به طور کامل و طبق سوالات بچه ها این مورد رو متذکر شدم.حالا از ما گفتن بود چون اینجوری هم پیش بریم فکر نکنم اون چیزو که می خواستید در بیاد.

----------------------------------
چند پیشنهاد:
شما که می گید آموزش نصب کیل در انجمن هست . لینکشو برای بچه ها می گذاشتین بهتر بود.
هر دستور مشابه هم که قبلا در پست های قبلی راجع بهش بحث شده لینک مربوط به اون رو بگذارید بهتر

یا علی

sigma-mx
19-01-2013, 14:29
آقای sigma-mx (You can see links before reply)
من برای خود شما گفتم. اینجانب خودم با این آسی کار کردم و تا جای که کارمو راه بندازه بلدم.من از اول تایپیک خوندم یعنی صفحه 1 تا همین صفحه 13به طور کامل و طبق سوالات بچه ها این مورد رو متذکر شدم.حالا از ما گفتن بود چون اینجوری هم پیش بریم فکر نکنم اون چیزو که می خواستید در بیاد.سلام
تشکر بابت پیشنهاد . ولی موضوع اینه که زمانی که موضوع شروع شد من free بودم ولی الان کاملا درگیرم و حتی فرصت گشتن و لینک دادن هم ندارم . فقط برام مقدوره هر از چند گاهی به سوالاتی مثل همین تاپیک جواب بدم . خب البته خیلی از دوستان دیگه هم هستن که اونام وضعیتشون همین طوریه . به همین خاطر میگم نباید همه لنگ یه نفر بمونن و خودشون استارت بزنن هر جا گیر کردن از بقیه سوال کنند . این فرق انجمن با کلاس درسه ! مگه خود من از منوال میکرو نخوندم ؟ مگه مثال آماده چقدر موجود بود ؟ خب بقیه هم پس همین کار رو بکنن میشه .. تو این انجمن از ابتدا رو آرم اتمل و آرم فیلیپس و بعد کرتکس فیلیپس و ST و ... کار شده از چند سال پیش و همه اینا تو کیل کار شده . مگه میشه هیچ آموزشی نباشه . تو مجلات PMM سایت از شماره 1 درباره کیل گفته شده .... تو همین سایت اگه سرچ کنید مطالب مفید و کاملی پیدا میکنید که بچه های قیلی روش کار کردن و الان بعضیاشون بخاطر کار و ... دیگه اینجا نیستند ...

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

یا حق

mj3747
19-01-2013, 15:56
میگم بچه ها...
تا موضوع اصلی از بحث خارج نشده یکی من راهنمایی کنه :(

Doloop
20-01-2013, 00:04
خوب مهندس چرا پین رو تغیر نمیدی ببینی مشکل از اینه یا نه ؟

mj3747
20-01-2013, 00:08
چطوری تغییر بدم حسین جان!؟
آخه نمیشه برنامه رو ریخت رو میکرو، همون برنامه قبلی که ریخته بودم کار میکنه و نمیشه پاکش کرد :unh:

Doloop
20-01-2013, 01:02
پایه SWCLK رو چیکارش کنم؟

منظورت اینه که توی برنامه فعلی از این پین استفاده کردی و این پین برای پروگرم شدن هم استفاده میشه درسته...!!!
خوب میگم این پین رو حذف کن و GPIO نکن

یا نه منظورت اینه که توی برنامه ای که داخل میکرو هست این پین رو GPIO تعریف کردی ...!؟
برای اینم یه پیشنهاد دارم :
با پین ERASE برنامه موجود توی میکرو رو پاک کن بعد با جیلینک تست بزن ... :wink:
یا اگه میتونی با روش BOOT پروگرم کن:0013:

mj3747
20-01-2013, 10:46
تو برنامه فعلی از پین SWCLK به عنوان GPIO استفاده کردم، وقتی هم که به همون حالت اول برمیگردونم بازم نمیشه.
احتمالا باید با خمون boot کار کنم.
راستی پایه erase چیه؟

Doloop
20-01-2013, 15:24
راستی پایه erase چیه؟

:):):)
هیچی
رفتم تو جو اتمل:cry:
تو آرم اتمل یه پین هست که میشد باهاش برنامه داخل میکرو رو پاک کرد
ولی من توی LPC و ST همچین چیزی ندیدم :0013:

mj3747
05-02-2013, 16:30
درود :hi:
میخوام پورت سریال LPC1313 رو راه بندازم و اطلاعات بفرستم برا کامپیوتر، از کجا شروع کنم؟ نمونه برنامه میخوام.
بعد اینکه این توابع CMSIS چیه و آیا از برنامه نویسی با Keil به همین روش عادی راحتره و اگه بخوام کار کنم چطوری باید شروع کنم؟

Doloop
05-02-2013, 22:27
این توابع CMSIS دستوراتش مفهومی تره (یعنی اگه یکی با این توابع کار هم نکرده باشه میتونه تا حدودی متوجه بشه فلان دستور چیکار میکنه)

ولی من میگم اول همون رجیستری کیل رو یاد بگیر بعد این رو در کنار اون داشته باش :wink:

مثال هم که براش زیاده و سریهای مختلف LPC هم شبیه هم هستن و راحت میشه برنامه رو با یه تغیر کوچولو برای همدیگه استفاده کرد :0013:

auditore
06-08-2013, 13:29
سلام خدمت دوستان:hi:
بلاخره بعد از چند روز دست و پنجه نرم کردن با این 1313 بلاخره فهمیدم اوضاع از چه قراره . مشکل من این بود که از اول خودم رو با این cmsis های بی خاصیت مچل کردم:cry: . از دیروز رفتم تو کار رجیستر ها و دیتا شیت دیدم ای دل قافل خود این رجیستر نویسی چقدر شیرین و راحته . همین اول هم کانفیگ gpio و تایمر و وقفه ها و اینا رو یاد گرفتم .
با همین cmsis هم برنامه می نوشتم حتی توی همون دو سه روز اول با چند تا مثال adc و تایمر رو هم راه انداختم اما از اینکه نمیفهمیدم چه اتفاقی داره میوفته و هی باید این فایل اون فایل رو اضافه کنی اعصابم بدجوری به هم ریخته بود وبه این نتیجه رسیدم که اصلا به درد نمیخوره . حالا که قراره سطح پایین برنامه بنویسیم دیگه خودمون رو علاف این cmsis و محروم از لذت ریجستر نویسی نکنیم .
اگر از دوستان کسی این میکرو رو داره خیلی خوشحال میشم که اعلام کنه تا با هم حالش رو بگیریم:shj: . اینجوری چند نفری انگیزه بیشتر میشه .
ما منتظریم .