This media is not supported in your browser
VIEW IN TELEGRAM
اجرای عملی پروتکل SNMP در میکروکنترلر STM32F107VC با Rl کیل
@armeducation
@armeducation
معمولا کسانی که تازه به حیطه اجرای پروژه های الکترونیک وارد شده اند، قیمت کمتری (شاید هم خیلی کمتری) برای انجام کار طلب می کنند. پارامترهای مختلفی وجود دارد که باعث می شود بعد از مدتی دیگر با قیمت پایین کار نکنند. یکی از آنها این است که کاملا به عدم تناسب بین هزینه و درآمدشان واقف می شوند. بدین معنا که می بینند به ازای خدمتی که در جامعه دیگران برای آنها انجام می دهند چه قیمتی باید پرداخت کنند و خودشان به چه قیمتی خدمتی را ارائه می کنند. مدت زمانی که به این نتیجه میرسند در افراد مختلف متفاوت است.
مسئله جالبی که بعد از به این نتیجه رسیدن برایشان به وجود می آید، این است که : از کسانی که به قیمت پایینی خدمتی در این حیطه انجام می دهند گله مند می شوند (البته در همه صنف ها بدین گونه است) غافل از اینکه خود این گونه بوده اند!
@armeducation
مسئله جالبی که بعد از به این نتیجه رسیدن برایشان به وجود می آید، این است که : از کسانی که به قیمت پایینی خدمتی در این حیطه انجام می دهند گله مند می شوند (البته در همه صنف ها بدین گونه است) غافل از اینکه خود این گونه بوده اند!
@armeducation
Forwarded from armeducation
در صورتی که مطالب آموزشی کانال را مفید می دانید شما معرف کانال به سایر دوستان خود باشید. 👇👇👇
با سپاس
@armeducation
با سپاس
@armeducation
Forwarded from 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
یک تلقی وجود دارد به این صورت که کار را بده به کسی که از همه ارزان تر میگیرد. ولی ممکن است همیشه این طرز فکر صحیح نباشد. این افراد موقعی متوجه اشتباه خود می شوند که کارشان را به کسی با قیمت پایین داده اند و به نحو دلخواه انجام نشده باشد. اینجاست که یاد "هرچقدر پول بدی همانقدر آش میخوری" می افتند! به خاطر همین است که افراد با تجربه، کار را به افراد کاردان و با تخصص و تجربه کافی می دهند و قیمت آن را هم می پردازند چرا می خواهند به طور مطلوب انجام شود.
@armeducation
@armeducation
در تمام میکروکنترلرهای arm-cortex m واحد system tick timer قرار داده شده است. این تایمر 24 بیتی با تابع SysTick_Config که در هدر core_cm3.h قرار دارد، فعال شده و بر اساس زمان ورودی تابع وارد زیرروال وقفه خود می شود:
void SysTick_Handler (void)
{
SysTickCnt++;
}
به سادگی می توان از این متغییر شمارنده SysTickCnt برای محاسبه زمان دقیق استفاده کرد. به عنوان نمونه با تنظیم ورودی تابع، هر 10 میلی ثانیه یک بار وارد زیروال وقفه شده و یکی به شمارنده SysTickCnt اضافه می شود.
@armeducation
void SysTick_Handler (void)
{
SysTickCnt++;
}
به سادگی می توان از این متغییر شمارنده SysTickCnt برای محاسبه زمان دقیق استفاده کرد. به عنوان نمونه با تنظیم ورودی تابع، هر 10 میلی ثانیه یک بار وارد زیروال وقفه شده و یکی به شمارنده SysTickCnt اضافه می شود.
@armeducation
در مبحثی مانند DMA آشنایی با فضای حافظه میکرو ضرورت پیدا می کند. در میکروکنترلرهای stm32 در دیتاشیت و در LPC در یوزرمنوال به معرفی فضای رم پرداخته است. به دیفاین ها و آدرس دهی با اشاره گر در هدر یک میکرو stm32 توجه کنید :
#define PERIPH_BASE ((uint32_t)0x40000000)
#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)
#define GPIOA_BASE (APB2PERIPH_BASE + 0x0800)
#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
typedef struct
{
__IO uint32_t CRL;
__IO uint32_t CRH;
__IO uint32_t IDR;
__IO uint32_t ODR;
__IO uint32_t BSRR;
__IO uint32_t BRR;
__IO uint32_t LCKR;
} GPIO_TypeDef;
بنابراین وقتی از دستور :
GPIOA->CRL |= 0x3 ; // PA0 output
استفاده می کنیم از قبل در هدر تعاریف لازم انجام شده و به فضای حافظه مربوطه ارجاع انجام شده است.
بیس برنامه نویسی سی لازم در این موارد مبحث اشاره گرها و struct می باشد.
@armeducation
#define PERIPH_BASE ((uint32_t)0x40000000)
#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)
#define GPIOA_BASE (APB2PERIPH_BASE + 0x0800)
#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
typedef struct
{
__IO uint32_t CRL;
__IO uint32_t CRH;
__IO uint32_t IDR;
__IO uint32_t ODR;
__IO uint32_t BSRR;
__IO uint32_t BRR;
__IO uint32_t LCKR;
} GPIO_TypeDef;
بنابراین وقتی از دستور :
GPIOA->CRL |= 0x3 ; // PA0 output
استفاده می کنیم از قبل در هدر تعاریف لازم انجام شده و به فضای حافظه مربوطه ارجاع انجام شده است.
بیس برنامه نویسی سی لازم در این موارد مبحث اشاره گرها و struct می باشد.
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
شرح رجیسترهای systemtick
@armeducation
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
شرح مثال systemtick قسمت اول
@armeducation
@armeducation
در این پست
https://news.1rj.ru/str/armeducation/140
ذکر شد که ممکن است وقفه متوالی گزینه مطلوبی نباشد و در روند کارمان اختلال ایجاد کند. به عنوان یک راه حل می توان از DMA استفاده نمود. DMA مخفف Direct memory access به معنای دسترسی مستقیم به حافظه بدون درگیر شدن cpu می باشد. این دسترسی چه مشکلی از ما حل می کند!؟ با تنظیماتی که در این واحد انجام می شود آدرس مبدا دیتا مشخص می شود(در اینجا مثلا رجیستر دیتای سریال) و آدرس مقصد هم مشخص می شود(در اینجا یک آرایه در فضای رم) و با مشخص بودن تعداد انتقال همین طور طول انتقال، آغاز کار انجام شده و در انتها بر اساس تنظیم وقفه مربوطه اعلام می شود که انتقال انجام شده و می توانید هر کاری صلاح میدانید انجام دهید!
در اینجا درگیر نبودن cpu برای انتقال دیتا مسئله مهمی است که تا در عمل در کاری با این مشکل مواجه نشوید پی به اهمیت آن نخواهید برد.
@armeducation
https://news.1rj.ru/str/armeducation/140
ذکر شد که ممکن است وقفه متوالی گزینه مطلوبی نباشد و در روند کارمان اختلال ایجاد کند. به عنوان یک راه حل می توان از DMA استفاده نمود. DMA مخفف Direct memory access به معنای دسترسی مستقیم به حافظه بدون درگیر شدن cpu می باشد. این دسترسی چه مشکلی از ما حل می کند!؟ با تنظیماتی که در این واحد انجام می شود آدرس مبدا دیتا مشخص می شود(در اینجا مثلا رجیستر دیتای سریال) و آدرس مقصد هم مشخص می شود(در اینجا یک آرایه در فضای رم) و با مشخص بودن تعداد انتقال همین طور طول انتقال، آغاز کار انجام شده و در انتها بر اساس تنظیم وقفه مربوطه اعلام می شود که انتقال انجام شده و می توانید هر کاری صلاح میدانید انجام دهید!
در اینجا درگیر نبودن cpu برای انتقال دیتا مسئله مهمی است که تا در عمل در کاری با این مشکل مواجه نشوید پی به اهمیت آن نخواهید برد.
@armeducation
Telegram
armeducation
در پورت سریال در حالت معمول، وقتی دیتایی در حال دریافت است برنامه منتظر می ماند تا دیتا دریافت شود سپس ادامه کار انجام می شود. خوب این جالب نیست که برنامه متتظر بماند و کار دیگری نتواند انجام دهد.
با استفاده از وقفه به محض دریافت هر کاراکتر برنامه وارد زیروال…
با استفاده از وقفه به محض دریافت هر کاراکتر برنامه وارد زیروال…
در صورتی که بخواهید با هزینه کمتری آموزشهای مقدماتی میکروکنترلرهای ARM را به صورت عملی پیاده سازی کنید می توانید از یک هدربرد استفاده کنید. در هدر برد امکاناتی بر روی برد قرار داده نشده و فقط خود میکرو و خروجی Jtag یا SW جهت پروگرام کردن وجود دارد و سایر پایه ها جهت هر استفاده ای بیرون کشیده شده است. شاید هم یک LED متصل به یکی از پایه های میکرو گذاشته باشند!
با قرار دادن چند LED و مقاومت روی بِرد بُرد و اتصال پایه های خروجی برد میکرو به آن قسمت خروجی GPIO تست می شود.
با قرار دادن چند سوییچ و Pull up کردن آن و اتصال پایه های برد میکرو به آن، قسمت خروجی GPIO و وقفه خارجی تست می شود.
با استفاده از یک مبدل یو اس بی به سریال و اتصال پایه های سریال به آن، قسمت UART را می توان به صورت عملی اجرا کرد.
با استفاده از یک پتانسیومتر و اتصال سر وسط آن به پایه های ورودی آنالوگ و قرار دادن نتیجه در سریال، واحد ADC را می توان استفاده کرد.
با اتصال پایه خروجی DAC در میکرو به یک اسپیکر می توان پخش فایل صوتی انجام داد.
خروجی تایمر و PWM را یا می توان توسط اسیلوسکوپ مشاهده یا به LED های روی برد برد متصل و با کاهش فرکانس امکان مشاهده آن را فراهم کرد.
نتیجه RTC روی همان پورت سریال قابل مشاهده است.
اتصال LCD کاراکتری و کیپد و سون سگمنت هم به هدر برد به سادگی انجام می شود.
البته داشتن یک برد کامل تر که دارای امکانات جانبی باشد، باعث صرفه جویی در زمان شما خواهد شد.
@armeducation
با قرار دادن چند LED و مقاومت روی بِرد بُرد و اتصال پایه های خروجی برد میکرو به آن قسمت خروجی GPIO تست می شود.
با قرار دادن چند سوییچ و Pull up کردن آن و اتصال پایه های برد میکرو به آن، قسمت خروجی GPIO و وقفه خارجی تست می شود.
با استفاده از یک مبدل یو اس بی به سریال و اتصال پایه های سریال به آن، قسمت UART را می توان به صورت عملی اجرا کرد.
با استفاده از یک پتانسیومتر و اتصال سر وسط آن به پایه های ورودی آنالوگ و قرار دادن نتیجه در سریال، واحد ADC را می توان استفاده کرد.
با اتصال پایه خروجی DAC در میکرو به یک اسپیکر می توان پخش فایل صوتی انجام داد.
خروجی تایمر و PWM را یا می توان توسط اسیلوسکوپ مشاهده یا به LED های روی برد برد متصل و با کاهش فرکانس امکان مشاهده آن را فراهم کرد.
نتیجه RTC روی همان پورت سریال قابل مشاهده است.
اتصال LCD کاراکتری و کیپد و سون سگمنت هم به هدر برد به سادگی انجام می شود.
البته داشتن یک برد کامل تر که دارای امکانات جانبی باشد، باعث صرفه جویی در زمان شما خواهد شد.
@armeducation
در DMA بایستی نوع انتقال را مشخص نماییم :
Mem-Mem
Mem-Peripheral
Peripheral –Mem
Peripheral-Peripheral
مثلا در Mem-Peripheral در نظر بگیرید کاراکترها در رشته ای قرار دارد و قرار است توسط پورت سریال ارسال شود. مبدا حافظه رم و مقصد پورت سریال و آغاز انتقال . بدین ترتیب بدون استفاده از تابعی مانند UART0_SendString و معطل شدن در این تابع ارسال انجام می شود!
@armeducation
Mem-Mem
Mem-Peripheral
Peripheral –Mem
Peripheral-Peripheral
مثلا در Mem-Peripheral در نظر بگیرید کاراکترها در رشته ای قرار دارد و قرار است توسط پورت سریال ارسال شود. مبدا حافظه رم و مقصد پورت سریال و آغاز انتقال . بدین ترتیب بدون استفاده از تابعی مانند UART0_SendString و معطل شدن در این تابع ارسال انجام می شود!
@armeducation
در مورد بحث کار و اشتغال مطلب مفیدی خواندم
که قسمتی از آن را باز نشر می کنم:
بیشترشان میخواهند کارمند شوند و حقوق بالاتر از یکمیلیون و ٧٠٠هزار تومان درخواست میدهند. مهارت خاصی بلد نیستند و تهتهش به معدل بالای نمراتشان تأکید دارند یا مثلا میگویند در دانشگاه دولتی درس خواندهاند
درسخواندهها کار تولیدی را در شأن خود نمیدانند.... جالب است بدانید حتی تحصیلکرده رشتههای فنی هم حاضر نیستند وارد کارخانهها شوند
مهارت کارجویان در سطح انتظار کارفرمایان نیست.
در فرهنگ ما ایرانیها دکتر و مهندسشدن، مدیر و رئیسشدن از کودکی بهعنوان ارزش شغلی به بچهها آموخته میشود و بخش عمدهای از سیل تقاضای ورود به دانشگاه هم ناشی از همین نگاه است. جالب است که رشتههای فنی و حرفهای با همین نگاه از ابتدا مورد استقبال قرار نگرفت و خانوادههای زیادی خواهان تحصیل بچههایشان در رشتههایی بودند که از آنها دکتر و مهندس تولید میشود.
مهارتهای دانشگاهی با مهارتهایی که بازار کار به آنها نیاز دارد، تطابقی ندارد.
در کشورمان آموزشها براساس نیاز بازار کار نیست و در شرایطی که افراد آموزشهای تئوری را در دانشگاهها دریافت میکنند، نیاز بازار کار چیز دیگری است.
مشکل فرهنگی-> جوانان آموزش ندیدهاند و خانوادهها به کارمندی و آب باریکه از گذشته روی آوردهاند و به آن یقین دارند.
http://tabnak.ir/fa/news/712673/%D8%A7%D9%81%D8%A7%D8%AF%D9%87%E2%80%8C%D9%87%D8%A7%DB%8C-%D8%A8%DB%8C%DA%A9%D8%A7%D8%B1%D8%A7%D9%86-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%DB%8C
—----------------------------
البته در مورد کارفرمایان مواردی به طور تجربی دیده شده که در پست های بعدی ذکر خواهد شد.
@armeducation
که قسمتی از آن را باز نشر می کنم:
بیشترشان میخواهند کارمند شوند و حقوق بالاتر از یکمیلیون و ٧٠٠هزار تومان درخواست میدهند. مهارت خاصی بلد نیستند و تهتهش به معدل بالای نمراتشان تأکید دارند یا مثلا میگویند در دانشگاه دولتی درس خواندهاند
درسخواندهها کار تولیدی را در شأن خود نمیدانند.... جالب است بدانید حتی تحصیلکرده رشتههای فنی هم حاضر نیستند وارد کارخانهها شوند
مهارت کارجویان در سطح انتظار کارفرمایان نیست.
در فرهنگ ما ایرانیها دکتر و مهندسشدن، مدیر و رئیسشدن از کودکی بهعنوان ارزش شغلی به بچهها آموخته میشود و بخش عمدهای از سیل تقاضای ورود به دانشگاه هم ناشی از همین نگاه است. جالب است که رشتههای فنی و حرفهای با همین نگاه از ابتدا مورد استقبال قرار نگرفت و خانوادههای زیادی خواهان تحصیل بچههایشان در رشتههایی بودند که از آنها دکتر و مهندس تولید میشود.
مهارتهای دانشگاهی با مهارتهایی که بازار کار به آنها نیاز دارد، تطابقی ندارد.
در کشورمان آموزشها براساس نیاز بازار کار نیست و در شرایطی که افراد آموزشهای تئوری را در دانشگاهها دریافت میکنند، نیاز بازار کار چیز دیگری است.
مشکل فرهنگی-> جوانان آموزش ندیدهاند و خانوادهها به کارمندی و آب باریکه از گذشته روی آوردهاند و به آن یقین دارند.
http://tabnak.ir/fa/news/712673/%D8%A7%D9%81%D8%A7%D8%AF%D9%87%E2%80%8C%D9%87%D8%A7%DB%8C-%D8%A8%DB%8C%DA%A9%D8%A7%D8%B1%D8%A7%D9%86-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%DB%8C
—----------------------------
البته در مورد کارفرمایان مواردی به طور تجربی دیده شده که در پست های بعدی ذکر خواهد شد.
@armeducation
پریفرالهایی که از آنها استفاده می کنیم به صورت فایل .c به پروژه اضافه می شود:
https://news.1rj.ru/str/armeducation/92
وقتی تعداد این فایل ها زیاد باشد می توان به این صورت در پروژه ایجاد شده در کیل دسته بندی کرد
https://news.1rj.ru/str/armeducation/92
وقتی تعداد این فایل ها زیاد باشد می توان به این صورت در پروژه ایجاد شده در کیل دسته بندی کرد
با توجه به پست قبلی :
https://news.1rj.ru/str/armeducation/153
در میکروکنترلر lpc1788 نیز برنامه SD کارت با توابع RLکیل که با کیل 4 ایجاد شده بود و با کیل 5 کامپایل و بر روی برد ریخته شد بود، کار نکرد.
بنابراین به تفاوت کیل در عدم کارکرد دقت داشته باشید.
@armeducation
https://news.1rj.ru/str/armeducation/153
در میکروکنترلر lpc1788 نیز برنامه SD کارت با توابع RLکیل که با کیل 4 ایجاد شده بود و با کیل 5 کامپایل و بر روی برد ریخته شد بود، کار نکرد.
بنابراین به تفاوت کیل در عدم کارکرد دقت داشته باشید.
@armeducation
Telegram
arm-education.ir
در صورتی که فایل های لازم در یک پروژه با RL کیل که با کیل 4 ایجاد شده باشد (فایل های lib. هم داخل آنها وجود داشته باشد) در پوشه پروژه وجود داشته باشد، با کیل 5 هم باز شده و اجرا خواهد شد.
تا کنون تنها موردی که مشاهده شد برنامه SD کارت که با کیل 4 ایجاد شده…
تا کنون تنها موردی که مشاهده شد برنامه SD کارت که با کیل 4 ایجاد شده…
در پست های قبلی بر روی این مطلب تاکید شد که
• پیش نیاز کار با میکروکنترلرهای ARM ، آشنایی با زبان C می باشد.
https://news.1rj.ru/str/armeducation/78
برای یک دوره مقدماتی میکروکنترلرهای ARM مواری از زبان برنامه نویسی C که بیشتر در عمل به کار می آید بدین صورت می باشد :
1- انواع داده، متغییر، ثوابت و عمگرها
2- استفاده از توابع stdio -> در پورت سریال استفاده خواهد شد.
3- حلقه while و for و شرط if و switch
4- آرایه و رشته
5- تابع و توابع کتابخانه ای
6- اشاره گرها
اینها مواردی هستند که در عمل از آن استفاده می شود.
بنابراین حداقل لازم برای یک دوره مقدماتی میکروکنترلرهای ARM ، آشنایی با زبان C و یک هدر برد :
https://news.1rj.ru/str/armeducation/203
والبته پروگرامر می باشد.
@armeducation
• پیش نیاز کار با میکروکنترلرهای ARM ، آشنایی با زبان C می باشد.
https://news.1rj.ru/str/armeducation/78
برای یک دوره مقدماتی میکروکنترلرهای ARM مواری از زبان برنامه نویسی C که بیشتر در عمل به کار می آید بدین صورت می باشد :
1- انواع داده، متغییر، ثوابت و عمگرها
2- استفاده از توابع stdio -> در پورت سریال استفاده خواهد شد.
3- حلقه while و for و شرط if و switch
4- آرایه و رشته
5- تابع و توابع کتابخانه ای
6- اشاره گرها
اینها مواردی هستند که در عمل از آن استفاده می شود.
بنابراین حداقل لازم برای یک دوره مقدماتی میکروکنترلرهای ARM ، آشنایی با زبان C و یک هدر برد :
https://news.1rj.ru/str/armeducation/203
والبته پروگرامر می باشد.
@armeducation
Telegram
armeducation
قبل از کار با میکروکنترلرهای ARM و در راه اندازی پریفرال های میکروکنترلرهای ARM، بایستی به این موضوع توجه شود که :
• پیش نیاز کار با میکروکنترلرهای ARM ، آشنایی با زبان C می باشد.
• پیش نیاز اجرای پروژه میکروکنترلرهای ARM ، تسلط به زبان C و تسلط به خود میکروکنترلر…
• پیش نیاز کار با میکروکنترلرهای ARM ، آشنایی با زبان C می باشد.
• پیش نیاز اجرای پروژه میکروکنترلرهای ARM ، تسلط به زبان C و تسلط به خود میکروکنترلر…
در استفاده از سیمولاتور کیل ممکن است موارد مختلفی پیش بیاد. برای بعضی میکروها از خود سیمولاتور کیل و هم از روی برد قابل استفاده اند و رجیسترها هم به صورت ویژآل دیده می شوند. بعضی فقط از روی برد قابل دیباگ کردن هستند . بعضی میکروها تنظیماتی در debug باید انجام شود تا پریفرالهای میکرو در سیمولاتور به صورت ویژآل دیده شود. و در بعضی مدل میکروها در دیباگ از روی برد تغییرات رجیسترها در پنجره های ویژآل اعمال نمی شود.
@armeducation
@armeducation
👍1
تفاوت کار فکری و یدی چیست!؟
ممکن است این تجربه را داشته باشید که در انجام کارهایی در حیطه الکترونیک (طراحی برد یا برنامه نویسی و ...) ذهنتان آن قدر درگیر انجام کار است که شب موقع استراحت نیز نمی توانید ذهنتان از فکر چگونگی حل مشکلات انجام کار، خارج کنید.
@armeducation
ممکن است این تجربه را داشته باشید که در انجام کارهایی در حیطه الکترونیک (طراحی برد یا برنامه نویسی و ...) ذهنتان آن قدر درگیر انجام کار است که شب موقع استراحت نیز نمی توانید ذهنتان از فکر چگونگی حل مشکلات انجام کار، خارج کنید.
@armeducation
ممکن است در پروژه ای فایل های اد شده قفل باشد و نتوان در آنها تغییر ایجاد کرد. برای حل این موضوع در پوشه پروژه با کلیک راست بر روی فایل مذکور و زدن properties تیک read only برداشته شود.
@armeducation
@armeducation
👍1
در میکروکنترلرهای ARM تعدادی تایمر قرار داده شده است. هر میکرویی تعدادی تایمر با امکانات مختلفی دارد. در این پست :
https://news.1rj.ru/str/armeducation/59
اشاره ای به تفاوت تایمرها در میکروهای LPC و STM32 شده است.
در LPC1768 , LPC1788 از شرکت NXP تعداد 4 تایمر 32 بیتی وجود دارد و واحدهای pwm و mcpwm و QEM دارای پریفرال های جداگانه می باشند.
در میکروی stm32f103ve از شرکت ST تعداد 8 تایمر 16 بیتی وجود دارد که در دسته بندی های تایمر پیشرفته و عمومی و پایه قرار میگیرد. pwm و mcpwm و QEM نیز در همین تایمر قرار دارد و واحد مجزایی ندارد. تعداد تایمرها در مدل های میکروهای stm32 با هم یکسان نیست. بنابراین در انتخاب میکرو لازم است به نوع کاری که قصد انجام دارید توجه بیشتری داشته باشید که مطابق امکانات میکرو باشد.
@armeducation
https://news.1rj.ru/str/armeducation/59
اشاره ای به تفاوت تایمرها در میکروهای LPC و STM32 شده است.
در LPC1768 , LPC1788 از شرکت NXP تعداد 4 تایمر 32 بیتی وجود دارد و واحدهای pwm و mcpwm و QEM دارای پریفرال های جداگانه می باشند.
در میکروی stm32f103ve از شرکت ST تعداد 8 تایمر 16 بیتی وجود دارد که در دسته بندی های تایمر پیشرفته و عمومی و پایه قرار میگیرد. pwm و mcpwm و QEM نیز در همین تایمر قرار دارد و واحد مجزایی ندارد. تعداد تایمرها در مدل های میکروهای stm32 با هم یکسان نیست. بنابراین در انتخاب میکرو لازم است به نوع کاری که قصد انجام دارید توجه بیشتری داشته باشید که مطابق امکانات میکرو باشد.
@armeducation
Telegram
armeducation
تفاوت ها و شباهت های مختصر میکروهای شرکت فیلیپسNXP و ST Electronics
با توجه به نوع کار و مشخصات آن می توان مشخص کرد از چه میکرویی بهتر است استفاده کرد.
@armeducation
با توجه به نوع کار و مشخصات آن می توان مشخص کرد از چه میکرویی بهتر است استفاده کرد.
@armeducation
یکی از امکانات میکروکنترلرها واحد ADC است.
در میکروی LPC1768 تعداد 8 کانال آنالوگ به دیجیتال قرار داده شده است و در میکروهای STM32F1 تعداد 16 کانال ADC قرار دارد. امکانات واحد ADC در میکروهای مختلف متفاوت است.
ساده ترین عملکرد این واحد خواندن یک کانال است. بعد از پیکربندی اولیه روال کار در این حالت بدین صورت می باشد :
1- دستور آغاز تبدیل
2- منتظر شدن برای تبدیل ولتاژ ورودی به مقدار دیجیتال خواندن این مقدار
3- پایان تبدیل
و نمایش مقدار قرائت شده برروی نمایشگر
حالت های مختلف دیگری برای استفاده از آنالوگ به دیجیتال وجود دارد. خواندن پشت سر هم از یک کانال و خواندن پشت سر هم از چند کانال از جمله این حالات هستند که تنظیمات خاص خود را دارد و بنا به نیاز از آنها استفاده خواهد شد. سرعت نمونه برداری و دقت نمونه برداری پارامترهای مهم این واحد هستند. .
از کاربردهای ADC خواندن سنسورهای آنالوگ و نمونه برداری از ولتاژ ورودی(مثلا ولتاژ برق شهر و سیگنال صوت ) می باشد.
@armeducation
در میکروی LPC1768 تعداد 8 کانال آنالوگ به دیجیتال قرار داده شده است و در میکروهای STM32F1 تعداد 16 کانال ADC قرار دارد. امکانات واحد ADC در میکروهای مختلف متفاوت است.
ساده ترین عملکرد این واحد خواندن یک کانال است. بعد از پیکربندی اولیه روال کار در این حالت بدین صورت می باشد :
1- دستور آغاز تبدیل
2- منتظر شدن برای تبدیل ولتاژ ورودی به مقدار دیجیتال خواندن این مقدار
3- پایان تبدیل
و نمایش مقدار قرائت شده برروی نمایشگر
حالت های مختلف دیگری برای استفاده از آنالوگ به دیجیتال وجود دارد. خواندن پشت سر هم از یک کانال و خواندن پشت سر هم از چند کانال از جمله این حالات هستند که تنظیمات خاص خود را دارد و بنا به نیاز از آنها استفاده خواهد شد. سرعت نمونه برداری و دقت نمونه برداری پارامترهای مهم این واحد هستند. .
از کاربردهای ADC خواندن سنسورهای آنالوگ و نمونه برداری از ولتاژ ورودی(مثلا ولتاژ برق شهر و سیگنال صوت ) می باشد.
@armeducation