راه اندازی Timer Match میکروکنترلر LPC1768

پنج شنبه 06 اسفند 1394  •  دسته بندی: lpc17  •  بازدیدها: 846  •  برچسب ها: |

هدف


این مثال نشان می دهد که چطور می توانید با استفاده از Timer Match  زمان های مشخص و دقیقی را در مد pollingایجاد بکنید.


نحوه ی کار

در این حالت زمان ایجاد شده 1 ثانیه است.

Timer configuration:

            - Timer channel: 0

            - Prescaler in microsecond value

            - prescaler value = 100us

Match configuration:

            - Use channel 0, MR0

            - Match value = 1000

            Because timer tick = prescaler = 100us

            So match time = 100 * 1000 = 100000us = 100ms

            - Timer reset after match

            - Not stop MR0 when match

            - Toggle MR0.0 when match

            Because match time = 100ms

            So MAT0.0 will be toggled at frequency = 10Hz

            - Generate match interrupt

با استفاده از تابع TIM_GetIntStatus منتظ می ماند تا فلک وقفه ی مربوط به MRO  یک بشه.هنگامیکه مقدار MRO  با مقدار تایمر کانتر برابر بشه فلک وقفه ی MR0I یک میشه و برنامه ار حلقه ی لوپ بیرون میاد و یک پیام با استفاده از سریال ارسال می کند و LED D2  برد اموزشی روشن و خاموش می شود.

نکته: دقت بکنید که هنگامیک زمان Match  خیلی کوچیک باشه اگر از پرتکل سریال استفاده بکنید باعث میشه یک Delay  به وجود بیاد.

این مطلب را به اشتراک بگذارید:

نظری در این باره وجود ندارد، شما می توانید اولین کسی باشید که نظر می دهید.
نام:
ایمیل:
نظر: