وقتی کیل 5 را (MDK-ARM) :
http://www.keil.com/download/product/
نصب کرده باشید و بخواهید با آن پروژه ای که با کیل 4 ایجاد کرده اید باز کنید، صفحه ای باز می شود. با زدن migrate to device pack پروژه با کیل5 باز می شود و دیگر با کیل 4 باز نمی شود! با زدن install legacy support مرورگر به آدرسی هدایت می شود:
http://www2.keil.com/mdk5/legacy/
که می توان پکی دانلود کرد(بسته به نوع میکرو و ورژن کیل5) که با نصب آن پروژه هایی با کیل 4 ایجاد شده باشد با کیل 5 بدون مشکل باز و کامپایل شود. و با زدن گزینه cancel پنجره ای حاوی یک خطا باز می شود : error: Device not found !
همچنین وقتی این پک را نصب کرده باشید، در کیل ۵ می توانید در روند ایجاد پروژه، با انتخاب legacy به جای software ، همانند کیل ۴ پروژه ایجاد کنید و کتابخانه های لازم را خودتان اد کنید.
@armeducation
http://www.keil.com/download/product/
نصب کرده باشید و بخواهید با آن پروژه ای که با کیل 4 ایجاد کرده اید باز کنید، صفحه ای باز می شود. با زدن migrate to device pack پروژه با کیل5 باز می شود و دیگر با کیل 4 باز نمی شود! با زدن install legacy support مرورگر به آدرسی هدایت می شود:
http://www2.keil.com/mdk5/legacy/
که می توان پکی دانلود کرد(بسته به نوع میکرو و ورژن کیل5) که با نصب آن پروژه هایی با کیل 4 ایجاد شده باشد با کیل 5 بدون مشکل باز و کامپایل شود. و با زدن گزینه cancel پنجره ای حاوی یک خطا باز می شود : error: Device not found !
همچنین وقتی این پک را نصب کرده باشید، در کیل ۵ می توانید در روند ایجاد پروژه، با انتخاب legacy به جای software ، همانند کیل ۴ پروژه ایجاد کنید و کتابخانه های لازم را خودتان اد کنید.
@armeducation
Keil
Keil Product Downloads
Download software products and updates.
وقتی بخواهید پروژه ای که با کیل4 ایجاد کرده اید با کیل5 باز کنید، چنین صفحه ای باز می شود. بهتر است install legacy support را انتخاب و پک مربوطه نصب شود.
@armeducation
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
ایجاد یک پروژه اصولی و صحیح در کیل 4.74 با میکرو STM32F103VE در 3 دقیقه! و پروگرام کردن روی برد
@armeducation
@armeducation
در این کانال سعی می شود مطالب تالیفی بنده قرار داده شود و در صورتی که مطلبی از جایی گرفته شود با ذکر منبع خواهد بود.
از دوستان عزیز تقاضامندم مطالب پست ها را تنها بصورت فوروارد در سایر کانال ها قرار دهند و از کپی کردن مطالب خودداری کنند.
@armeducation
از دوستان عزیز تقاضامندم مطالب پست ها را تنها بصورت فوروارد در سایر کانال ها قرار دهند و از کپی کردن مطالب خودداری کنند.
@armeducation
کارکرد یک پریفرالی که در یک میکرو وجود دارد و به صورت عملی در فیلمی نشان داده می شود به این صورت است که حتی الامکان پروژه آن توسط خودم ایجاد شده و از رجیسترها برای راه اندازی آن استفاده شود.
- در اینکه در انجام کاری پروژه توسط خود شخص ایجاد شود نکات آموزشی جدیدی وجود دارد که وقتی از پروژه آماده استفاده شود با آن مواجه نمی شود.
- حتی المکان استفاده از رجیسترها جهت اینیشیالیز اولیه و ... باعث تسهیل در کار و سادگی پروژه و بی نیازی به اضافه کردن کتابخانه های اضافی خواهد شد.
@armeducation
- در اینکه در انجام کاری پروژه توسط خود شخص ایجاد شود نکات آموزشی جدیدی وجود دارد که وقتی از پروژه آماده استفاده شود با آن مواجه نمی شود.
- حتی المکان استفاده از رجیسترها جهت اینیشیالیز اولیه و ... باعث تسهیل در کار و سادگی پروژه و بی نیازی به اضافه کردن کتابخانه های اضافی خواهد شد.
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
-نصب کیل 5
-نحوه کرک کردن
- نصب پک های آن
- باز کردن پروژه ای که قبلا با کیل 4 ایجاد شده با کیل5
@armeducation
-نحوه کرک کردن
- نصب پک های آن
- باز کردن پروژه ای که قبلا با کیل 4 ایجاد شده با کیل5
@armeducation
بعد از انتخاب میکرو و ایجاد پروژه، لازم است بر اساس نیاز پریفرال های مختلف میکروکنترلر راه اندازی شود. به عنوان مثال این پریفرال ها بسته به نوع میکرو و قابلیت های آن،می تواند شامل موارد زیر باشد:
1-GOIO
2-EXTI
3-USART
4-Timer
5-ADC
6-DAC
7-PWM
8-RTC
9-کلاک و پاور
10-WDT
11-I2C
12-SPI
13-DMA
14-SD-MMC
15-USB(Device-Host)
17-Eternet(UDP-TCP-Http-SNMP,…)
18-CAN
19-TFT_LCD
….
قبلا ذکر شد که انتخاب میکرو بایستی متناسب با کاری باشد که قرار است انجام شود و کار هم بر اساس نیاز تعریف می شود.
@armeducation
1-GOIO
2-EXTI
3-USART
4-Timer
5-ADC
6-DAC
7-PWM
8-RTC
9-کلاک و پاور
10-WDT
11-I2C
12-SPI
13-DMA
14-SD-MMC
15-USB(Device-Host)
17-Eternet(UDP-TCP-Http-SNMP,…)
18-CAN
19-TFT_LCD
….
قبلا ذکر شد که انتخاب میکرو بایستی متناسب با کاری باشد که قرار است انجام شود و کار هم بر اساس نیاز تعریف می شود.
@armeducation
قبل از کار با میکروکنترلرهای ARM و در راه اندازی پریفرال های میکروکنترلرهای ARM، بایستی به این موضوع توجه شود که :
• پیش نیاز کار با میکروکنترلرهای ARM ، آشنایی با زبان C می باشد.
• پیش نیاز اجرای پروژه میکروکنترلرهای ARM ، تسلط به زبان C و تسلط به خود میکروکنترلر می باشد.
• تسلط به زبان C و تسلط به خود میکروکنترلرهای ARM، نیاز به تمرین و صرف زمان دارد.
در توضیح پیش نیاز بودن آشنایی با زبان برنامه نویسی سی، کارآموز در حین شرح رجیسترها و برنامه ها و کار با توابع با ایراد و سوال برنامه نویسی C مواجه نمی شود و توجه خود را صرف نحوه تنظیمات رجیسترها و نحوه استفاده از آنها ، استفاده از توابع ، توسعه برنامه نویسی به منظور انجام کار و ... می کند.
فیلم آموزش کاربردی زبان سی در میکروکنترلرهای ARM :
http://goo.gl/PoYFu1
به منظور پر کردن این خلا می باشد.
حال سوال اینجاست که صرف یادگیری راه اندازی پریفرال های میکروکنترلرهای ARM، کافیست!؟
@armeducation
• پیش نیاز کار با میکروکنترلرهای ARM ، آشنایی با زبان C می باشد.
• پیش نیاز اجرای پروژه میکروکنترلرهای ARM ، تسلط به زبان C و تسلط به خود میکروکنترلر می باشد.
• تسلط به زبان C و تسلط به خود میکروکنترلرهای ARM، نیاز به تمرین و صرف زمان دارد.
در توضیح پیش نیاز بودن آشنایی با زبان برنامه نویسی سی، کارآموز در حین شرح رجیسترها و برنامه ها و کار با توابع با ایراد و سوال برنامه نویسی C مواجه نمی شود و توجه خود را صرف نحوه تنظیمات رجیسترها و نحوه استفاده از آنها ، استفاده از توابع ، توسعه برنامه نویسی به منظور انجام کار و ... می کند.
فیلم آموزش کاربردی زبان سی در میکروکنترلرهای ARM :
http://goo.gl/PoYFu1
به منظور پر کردن این خلا می باشد.
حال سوال اینجاست که صرف یادگیری راه اندازی پریفرال های میکروکنترلرهای ARM، کافیست!؟
@armeducation
چهارچوب کلی یک برنامه main در یک پروژه.
نحوه تعریف ثوابت و ماکروها، متغییرها و توابع، آشنایی با عملگرها وحلقه while و for و شرط if و switch و... از موارد اولیه آشنایی با زبان سی می باشد.
@armeducation
نحوه تعریف ثوابت و ماکروها، متغییرها و توابع، آشنایی با عملگرها وحلقه while و for و شرط if و switch و... از موارد اولیه آشنایی با زبان سی می باشد.
@armeducation
سوالات اولیه ای که معمولا برای کسانی که به کار با میکروکنترلرهای ARM شروع می کنند بسیار پیش آمده است و بسیار پرسیده شده است :
- این دستوراتی مثل
LPC_GPIO0->FIOSET = 0x03
و
LPC_GPIO0->FIOSET = (0x03) « 16;
چه بیت هایی را ست می کند. عملگر » در اینجا چه کاری انجام می دهد؟
- عباراتی که با =| و ~=& به کار برده می شوند چه مفهومی دارند؟
- تعریف یک متغییر با int32_t و int8_t به چه معناست؟
- چگونه چک کردن یک بیت از یک رجیستر انجام می شود؟ مثلا چک کردن 0 شدن بیت 11 از رجیستری مثلا رجیستر PIN این گونه انجام شده:
(LPC_GPIO2->FIOPIN & 1«11) ==0
پس چک کردن 1 شدن بیت 11 از رجیستر PIN چگونه انجام می شود؟ چرا وقتی من از دستور :
LPC_GPIO2->FIOPIN & (1«11))== 1
برای چک کردن ست شدن بیت 11 استفاده می کنم، کار نمی کند!؟
- عملکرد این ماکرو به چه نحو است :
#define LED1_ON(x) ((x) ? (LPC_GPIO1->FIOSET = LED1) : (LPC_GPIO1->FIOCLR = LED1))
- نحوه تبدیل یک متغییر به یک رشته چگونه است؟
- چگونه ورودی ها و خروجی ها را در یک تابع مشخص کنیم؟
- چگونه یک کتابخانه درست کنیم و به پروژه اضافه کنیم؟
- و ....
شما چه سوالات ابتدایی برایتان پیش آمده است!؟
@armeducation
- این دستوراتی مثل
LPC_GPIO0->FIOSET = 0x03
و
LPC_GPIO0->FIOSET = (0x03) « 16;
چه بیت هایی را ست می کند. عملگر » در اینجا چه کاری انجام می دهد؟
- عباراتی که با =| و ~=& به کار برده می شوند چه مفهومی دارند؟
- تعریف یک متغییر با int32_t و int8_t به چه معناست؟
- چگونه چک کردن یک بیت از یک رجیستر انجام می شود؟ مثلا چک کردن 0 شدن بیت 11 از رجیستری مثلا رجیستر PIN این گونه انجام شده:
(LPC_GPIO2->FIOPIN & 1«11) ==0
پس چک کردن 1 شدن بیت 11 از رجیستر PIN چگونه انجام می شود؟ چرا وقتی من از دستور :
LPC_GPIO2->FIOPIN & (1«11))== 1
برای چک کردن ست شدن بیت 11 استفاده می کنم، کار نمی کند!؟
- عملکرد این ماکرو به چه نحو است :
#define LED1_ON(x) ((x) ? (LPC_GPIO1->FIOSET = LED1) : (LPC_GPIO1->FIOCLR = LED1))
- نحوه تبدیل یک متغییر به یک رشته چگونه است؟
- چگونه ورودی ها و خروجی ها را در یک تابع مشخص کنیم؟
- چگونه یک کتابخانه درست کنیم و به پروژه اضافه کنیم؟
- و ....
شما چه سوالات ابتدایی برایتان پیش آمده است!؟
@armeducation
معمولا به همراه یک برد آموزشی سمپل هایی قرار داده می شود. می توان این سمپل ها را به سه دسته تقسیم کرد:
1- سمپل هایی که کار می کند و ساده است و می توان متوجه عملکرد آنها شد و در آنها تغییرات لازم را اعمال کرد.
2- سمپل هایی که صرفا یک راه اندازی را انجام می دهد ولی به دلیل پیچیدگی نمی توان از آن سر در آورد، بنابراین ایجاد تغییرات لازم بر اساس نیاز در آن مشکل است.
3- سمپل هایی که کار نمی کند!
بنابراین صرف کارکردن یک سمپل کافی نیست. باید بتوان فهمید که همه توابع آن چگونه کار می کند و چگونه باید آن را بر اساس نیاز تغییر داد. تغییراتی که لازم است در یک سمپل اعمال کرد شامل تغییر کانفیگ پایه ها، توسعه توابع آن و تغییرات لازم برای بردن به یک مدل دیگر میکرو می باشد.
@armeducation
1- سمپل هایی که کار می کند و ساده است و می توان متوجه عملکرد آنها شد و در آنها تغییرات لازم را اعمال کرد.
2- سمپل هایی که صرفا یک راه اندازی را انجام می دهد ولی به دلیل پیچیدگی نمی توان از آن سر در آورد، بنابراین ایجاد تغییرات لازم بر اساس نیاز در آن مشکل است.
3- سمپل هایی که کار نمی کند!
بنابراین صرف کارکردن یک سمپل کافی نیست. باید بتوان فهمید که همه توابع آن چگونه کار می کند و چگونه باید آن را بر اساس نیاز تغییر داد. تغییراتی که لازم است در یک سمپل اعمال کرد شامل تغییر کانفیگ پایه ها، توسعه توابع آن و تغییرات لازم برای بردن به یک مدل دیگر میکرو می باشد.
@armeducation
معمولا کسانی که می خواهند با میکروکنترلرهای ARM شروع به کار می کنند با توجه به تنوع مدل ها و کامپایلرها سوالاتی وجود دارد مانند :
- با چه میکروکنترلری کار کنم؟ LPC را انتخاب کنم یا STM32 ؟ STM8 هم هست! با کدام مدل شروع کنم!؟ از چه پروگرامری استفاده کنم؟ ....
- از چه کامپایلری استفاده کنم؟ Keil بهتره یا IAR ؟ خود شرکت سازنده میکرو،کامپایلری ارائه نکرده؟ از همون کامپایلر شرکت سازنده بهتر نیست استفاده کنیم!؟
- چه منبع آموزشی مناسبی وجود دارد؟
در فروم ها و شبکه های اجتماعی این سوالات بوده و خواهد بود. البته کمی هم حق دارند. مثل قدیم نیست که یه مدل میکرو باشه و یک کامپایلر! هر چه تنوع بیشتر سردرگمی هم بیشتر. مثلا وقتی شما برای خرید وارد یک فروشگاه بزرگ می شوید چه حسی خواهید داشت!؟ تنها چیزی که شما را از سردرگمی در این حالت نجات می دهد لیست خرید است.
قبلا ذکر شد انتخاب میکرو بر اساس نوع کار است. یعنی لیست خریدتان در اینجا کاری است که می خواهید انجام دهید. بنابراین بایستی به دنبال امکاناتی باشید که یک میکرو در اختیارتان قرار می دهد و البته در کنار قیمت. البته ممکن بگویید کارمان کجا بود. می خواهیم میکروهای ARM یاد بگیریم تا کار پیدا کنیم! خوب در اینجا مدل های رایج تر می توانید انتخاب کنید. طبیعتا بایستی چندین مدل را کار کنید. مثلا lpc1788 ، stm32f103ve ، stm8s003 و ... یعنی مدل هایی که برد آموزشی ارزان قیمتی دارد و آموزش هایی هم برای شروع هست.
-> برای شروع کار بهتر است از کامپایلر Keil استفاده کنید و بعد ها در صورتی که جایی احساس نیاز کردید از IAR استفاده کنید . ولی به این موضوع توجه داشته باشید که هر دوی اینها نیاز به لایسنس دارند. درست است که با کرک مشکل حل می شود ولی در یک جایی در پروژه تجاری صنعتی ممکن است به مشکل بربخورید و طبیعتا ساپورتی از طرف شرکت سازنده انجام نمی شود.
-> کسانی که دارای تجره کاری هستند دنبال ایجاد محصول جدید و بهینه سازی آن، خدمات پس از فروش بهتر، نحوه پیاده سازی یک کار و پیاده سازی الگوریتم آن به برنامه مناسب تر و .. هستند. بنابراین وقتی برای صرف در امور حاشیه ندارند.
@armeducation
- با چه میکروکنترلری کار کنم؟ LPC را انتخاب کنم یا STM32 ؟ STM8 هم هست! با کدام مدل شروع کنم!؟ از چه پروگرامری استفاده کنم؟ ....
- از چه کامپایلری استفاده کنم؟ Keil بهتره یا IAR ؟ خود شرکت سازنده میکرو،کامپایلری ارائه نکرده؟ از همون کامپایلر شرکت سازنده بهتر نیست استفاده کنیم!؟
- چه منبع آموزشی مناسبی وجود دارد؟
در فروم ها و شبکه های اجتماعی این سوالات بوده و خواهد بود. البته کمی هم حق دارند. مثل قدیم نیست که یه مدل میکرو باشه و یک کامپایلر! هر چه تنوع بیشتر سردرگمی هم بیشتر. مثلا وقتی شما برای خرید وارد یک فروشگاه بزرگ می شوید چه حسی خواهید داشت!؟ تنها چیزی که شما را از سردرگمی در این حالت نجات می دهد لیست خرید است.
قبلا ذکر شد انتخاب میکرو بر اساس نوع کار است. یعنی لیست خریدتان در اینجا کاری است که می خواهید انجام دهید. بنابراین بایستی به دنبال امکاناتی باشید که یک میکرو در اختیارتان قرار می دهد و البته در کنار قیمت. البته ممکن بگویید کارمان کجا بود. می خواهیم میکروهای ARM یاد بگیریم تا کار پیدا کنیم! خوب در اینجا مدل های رایج تر می توانید انتخاب کنید. طبیعتا بایستی چندین مدل را کار کنید. مثلا lpc1788 ، stm32f103ve ، stm8s003 و ... یعنی مدل هایی که برد آموزشی ارزان قیمتی دارد و آموزش هایی هم برای شروع هست.
-> برای شروع کار بهتر است از کامپایلر Keil استفاده کنید و بعد ها در صورتی که جایی احساس نیاز کردید از IAR استفاده کنید . ولی به این موضوع توجه داشته باشید که هر دوی اینها نیاز به لایسنس دارند. درست است که با کرک مشکل حل می شود ولی در یک جایی در پروژه تجاری صنعتی ممکن است به مشکل بربخورید و طبیعتا ساپورتی از طرف شرکت سازنده انجام نمی شود.
-> کسانی که دارای تجره کاری هستند دنبال ایجاد محصول جدید و بهینه سازی آن، خدمات پس از فروش بهتر، نحوه پیاده سازی یک کار و پیاده سازی الگوریتم آن به برنامه مناسب تر و .. هستند. بنابراین وقتی برای صرف در امور حاشیه ندارند.
@armeducation
کانال تلگرام مطالب آموزشی میکروکنترلرهای ARM و اطلاع رسانی دوره های آموزشی :
@armeducation
https://news.1rj.ru/str/armeducation
ادمین:
@mzarkoob
وب سایت :
www.arm-education.ir
@armeducation
https://news.1rj.ru/str/armeducation
ادمین:
@mzarkoob
وب سایت :
www.arm-education.ir
Telegram
armeducation
آموزش حرفه ای میکروکنترلرهای ARM
ادمین:
@mzarkoob
مهندس مهدی زرکوب
شروع مطالب :
https://news.1rj.ru/str/armeducation/1
اینستاگرام :
@armeducation
کانال ایتا:
https://eitaa.com/armeducation
همراه :
09359956361
ادمین:
@mzarkoob
مهندس مهدی زرکوب
شروع مطالب :
https://news.1rj.ru/str/armeducation/1
اینستاگرام :
@armeducation
کانال ایتا:
https://eitaa.com/armeducation
همراه :
09359956361
هر پریفرالی دارای کاربردهای مختلفی می باشد که بدون انجام آن کاربردها نمی توان گفت آن قسمت کار کرده شده یا یاد گرفته شده است. بنابراین صرف مشاهده یک عملی از یک پریفرال کافی نیست!
به چند مثال توجه کنید:
- در پریفرال gpio ست و ریست کردن پایه ها و همچنین خواندن وضعیت آنها انجام می شود. به صورت ساده می توان یک ال ای دی را با آن خاموش روشن کرد. ولی دارای کاربرهایی مانند سون سگمنت، ال سی دی کاراکتری، ال سی دی گرافیکی، TFT LCD ها، کیبرد و ... می باشد. همچنین می توان پروتکل هایی مانند سریال و I2C و SPI را با آن gpio شبیه سازی کرد.
- با پریفرال DAC به صورت ساده می تواند یک شکل موج سینوسی را نمایش داد. ولی می توان پخش فایل صوتی از فلش خود میکرو یا spi flash یا sd کارت را در عمل با این پریفرال انجام داد.
- ماژول های مختلفی وجود دارد که با استفاده از پریفرال های UART و I2C و SPI و CAN و اترنت بایستی با آنها ارتباط برقرار کرد.
بنابراین به راه اندازی تا استفاده عملی دقت داشته باشید.
@armeducation
به چند مثال توجه کنید:
- در پریفرال gpio ست و ریست کردن پایه ها و همچنین خواندن وضعیت آنها انجام می شود. به صورت ساده می توان یک ال ای دی را با آن خاموش روشن کرد. ولی دارای کاربرهایی مانند سون سگمنت، ال سی دی کاراکتری، ال سی دی گرافیکی، TFT LCD ها، کیبرد و ... می باشد. همچنین می توان پروتکل هایی مانند سریال و I2C و SPI را با آن gpio شبیه سازی کرد.
- با پریفرال DAC به صورت ساده می تواند یک شکل موج سینوسی را نمایش داد. ولی می توان پخش فایل صوتی از فلش خود میکرو یا spi flash یا sd کارت را در عمل با این پریفرال انجام داد.
- ماژول های مختلفی وجود دارد که با استفاده از پریفرال های UART و I2C و SPI و CAN و اترنت بایستی با آنها ارتباط برقرار کرد.
بنابراین به راه اندازی تا استفاده عملی دقت داشته باشید.
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
یکی از ویژگی های کیل سیمولاتور آن است که قابلیت مشاهده بیتی در رجیسترها را فراهم می کند. برای کسانی که شروع کار و آموزش داشته باشند جنبه آموزشی خوبی خواهد داشت.
@armeducation
@armeducation
یکی از کاربردهای میکروکنترلرهای ARM استفاده از TFT LCD ها می باشد. سرعت پایین نمایش در میکروهایی که دارای کلاک کمی هستند و همچنین عدم وجود پریفرال داخلی برای کنترل TFT، کاربران را "مجبور به استفاده از میکروکنترلرهای ARM " نموده است! در میکروکنترلرهای ARM، سرعت بالای نمایش و پریفرال داخلی در بعضی از مدل ها برای کنترل TFT، وجود دارد.
- در میکروکنترلر LPC1768 با توجه به عدوم وجود پریفرال داخلی برای کنترل TFT، سرعت نمایش قابل توجه است. کلاک هسته در این میکروکنترلر 100 مگاهرتز می باشد. در این میکرو بایستی از درایور برای کنترلر TFT LCD ها استفاده شود.
- در میکروکنترلر LPC1788 با توجه به وجود پریفرال داخلی برای کنترل TFT و کلاک هسته بالاتر(120 مگاهرتز)، سرعت رفرش صفحه بیشتر از lpc1768 می باشد. در این میکرو نیازی به استفاده از درایور برای کنترلر TFT LCD ها نمی باشد.
- در مدل های بالاتر LPC ضمن وجود پریفرال داخلی برای کنترل TFT، کلاک هسته نیز بالاتر می باشد.
- در میکروکنترلر STM32F103VE با توجه به وجود پریفرال داخلی (FSMC) برای کنترل TFT، سرعت نمایش قابل توجه است. این در حالیست که وجود این پریفرال FSMC باعث بهبود سرعت نمایش با توجه به کلاک هسته 72 مگاهرتزی آن شده است. در این میکرو بایستی از درایور برای کنترلر TFT LCD ها استفاده شود.
- در میکروکنترلر STM32F429 و STM32F439 هم دارای کلاک هسته 180 مگاهرتزی و هم دارای پریفرال داخلی برای کنترل TFT می باشند.
@armeducation
- در میکروکنترلر LPC1768 با توجه به عدوم وجود پریفرال داخلی برای کنترل TFT، سرعت نمایش قابل توجه است. کلاک هسته در این میکروکنترلر 100 مگاهرتز می باشد. در این میکرو بایستی از درایور برای کنترلر TFT LCD ها استفاده شود.
- در میکروکنترلر LPC1788 با توجه به وجود پریفرال داخلی برای کنترل TFT و کلاک هسته بالاتر(120 مگاهرتز)، سرعت رفرش صفحه بیشتر از lpc1768 می باشد. در این میکرو نیازی به استفاده از درایور برای کنترلر TFT LCD ها نمی باشد.
- در مدل های بالاتر LPC ضمن وجود پریفرال داخلی برای کنترل TFT، کلاک هسته نیز بالاتر می باشد.
- در میکروکنترلر STM32F103VE با توجه به وجود پریفرال داخلی (FSMC) برای کنترل TFT، سرعت نمایش قابل توجه است. این در حالیست که وجود این پریفرال FSMC باعث بهبود سرعت نمایش با توجه به کلاک هسته 72 مگاهرتزی آن شده است. در این میکرو بایستی از درایور برای کنترلر TFT LCD ها استفاده شود.
- در میکروکنترلر STM32F429 و STM32F439 هم دارای کلاک هسته 180 مگاهرتزی و هم دارای پریفرال داخلی برای کنترل TFT می باشند.
@armeducation
نحوه نمایش در TFT LCD ها به صورت پیکسلی می باشد. رنگ هرپیکسل یک عدد دو بایتی است. برای پاک کردن کل صفحه همه پیکسل ها تغییر می کند. بنابراین سرعت رفرش پردازنده مهم است.
@armeducation
@armeducation
چهار پایه خروجی فلت تاچ به یک IC متصل است و میکروکنترلر با استفاده از پریفرال SPI موقع لمس تاچ، خواندن موقعیت از آن را انجام می دهد. تشخیص لمس تاچ با پایه PENIRG انجام می شود.
@armeducation
@armeducation
روال خواندن از تاچ به این صورت است که ابتدا موقعیت چهار نقطه در گوشه های صفحه تاچ گرفته می شود (کالیبراسیون). سپس سایر نقاط بر اساس این 4 نقطه مقایسه و موقعیت لمس شده تشخیص داده می شود. می توان توسط تابعی موقعیت لمس شده را به واحد پیکسل در tft lcd تبدیل کرد و نمایش داد تا بتوان درستی تاچ را تست کرد.
این چهار نقطه را می توان در جایی ذخیره کرد تا در دفعه بعد دستگاه روشن می شود لازم نباشد مجدد کالیبراسیون انجام شود.
روال خواندن یک نقطه نیز بدین صورت است : به محض اینکه توسط پایه TP_IRQ در لبه پایین رونده تشخیص زده شده شدن تاچ انجام شود، تعدادی موقعیت توسط تابعی خوانده می شود. این موقعیت ها از کوچک به بزرگ مرتب شده و چند نقطه ابتدا و انتها حذف و از سایر نقاط میانگین گرفته می شود.
@armeducation
این چهار نقطه را می توان در جایی ذخیره کرد تا در دفعه بعد دستگاه روشن می شود لازم نباشد مجدد کالیبراسیون انجام شود.
روال خواندن یک نقطه نیز بدین صورت است : به محض اینکه توسط پایه TP_IRQ در لبه پایین رونده تشخیص زده شده شدن تاچ انجام شود، تعدادی موقعیت توسط تابعی خوانده می شود. این موقعیت ها از کوچک به بزرگ مرتب شده و چند نقطه ابتدا و انتها حذف و از سایر نقاط میانگین گرفته می شود.
@armeducation
تفاوت بین ارسال یک پیکسل برروی TFT در میکروکنترلر LPC1788 و LPC1768
میکروکنترلر LPC1788 دارای کنترلر LCD داخلی
میکروکنترلر LPC1768 توسط درایو، به LCD متصل است.
تفاوت قابل تشخیص است!؟
@armeducation
میکروکنترلر LPC1788 دارای کنترلر LCD داخلی
میکروکنترلر LPC1768 توسط درایو، به LCD متصل است.
تفاوت قابل تشخیص است!؟
@armeducation