سلام
من در روش برنامه نویسی معمولی (بدون سیستم عامل) مثلا وقتی می خوام یک آرایه 30 بایتی رو به پورت سریال ارسال کنم اینطوری می نویسم:
حالا فرض کنید من می خوام برنامم رو با RTX بنویسم و این کار رو داخل یک تسک انجام بدم
همونطور که می دونید ارسال شدن اطلاعات از پورت سریال بسته به Baud Rate، زمان مشخصی مصرف می کنه و میکرو مقدار زیادی از وقتش در
تلف میشه
می خوام بپرسم به نظر شما بهترین روشی که می شه اشغال بودن پریفرال توسط این تسک، یا تسک دیگه رو تشخیص داد و به کارهای دیگه رسید چیه؟
ممنون
من در روش برنامه نویسی معمولی (بدون سیستم عامل) مثلا وقتی می خوام یک آرایه 30 بایتی رو به پورت سریال ارسال کنم اینطوری می نویسم:
کد:
void sendchar0(char c) { while (!(LPC_UART0->LSR & 0x20)); LPC_UART0->THR = c; } for(i=0;i<30;i++) sendchar0(buffer[i]);
همونطور که می دونید ارسال شدن اطلاعات از پورت سریال بسته به Baud Rate، زمان مشخصی مصرف می کنه و میکرو مقدار زیادی از وقتش در
کد:
while (!(LPC_UART0->LSR & 0x20));
می خوام بپرسم به نظر شما بهترین روشی که می شه اشغال بودن پریفرال توسط این تسک، یا تسک دیگه رو تشخیص داد و به کارهای دیگه رسید چیه؟
ممنون
دیدگاه