سلام.
منظور از وقفه برداری ( vectored interrupt ) چی؟ منظور از جدول بردار وقفه چی؟ اگه میشه کمی در این مورد توضیح بدین.
سلام.
منظور از وقفه برداری ( vectored interrupt ) چی؟ منظور از جدول بردار وقفه چی؟ اگه میشه کمی در این مورد توضیح بدین.
من چون قبلا با میکروکنترلرهای AVR کار می کردم زیاد با مفهوم وقفه برداری تودرتو آشنا نیستم. تا جایی که من میدونم میکروکنترلرهای LPC17xx دارای امکانات جانبی ( peripheral ) زیادی هستند مانند UART و PWM و غیره. هر کدوم از این امکانات جانبی نیز دارای چندین منبع وقفه (interrupt source) هستند. منظورم اینه که یک بلوک مانند Timer در حالت های مختلفی میتونه وقفه تولید کنه. حالا من میخوام بدونم که مدیریت وقفه ها چه جوری؟ یعنی اومدن وقفه ها رو گروه بندی کردن؟ اگه مثلا توی بلوک Timer دو تا وقفه هم زمان رخ بدن چه اتفاقی میفته؟
مدیریت وقفه ها در واحد کنترل مرکزی وقفه انجام می شود
با دستور NVIC_EnableIRQ برنامه می داند که تا از آن پریفرالی که این دستور مشخص کرده وقفه ای اومد بره در زیر روال مشخص شده
دستور تعیین اولویت با مشخص می شود:
موارد عملی برای پریفرال ها هم در فیلم مقدماتی lpc1768 آورده شده است. مثلا یک قسمت کار با پورت سریال نحوه دریافت با استفاده از وقفه می باشد و ...کد:NVIC_SetPriority(TIMER0_IRQn,0); /* Default priority group 0, can be 0(highest) - 31(lowest) */ NVIC_EnableIRQ(TIMER0_IRQn); /* Enable Timer0 Interrupt */