Pic 16f877a ile Mutitask ve Usart/Uart aynı anda çalışır mı?

Başlatan Uart, 10 Ekim 2018, 11:51:48

Uart

Pic16f877a denetleyici öğrenmek için bazı projeler hazırladım. Bu projeler arasında multitask ile buton led vs kontrolleri yaptım. Diğer projelerimden biri ise uart ile haberleşme oldu. Şimdi iki projemi birleştirmek istiyorum. Bu konuda yaptığım araştırmalardan uygulamanın olabileceği yönünde net cevaplar olmadığını gördüm. Konu hakkında bilgisi olan arkadaşlar bunun mümkün olup olmayacağını, mümkün ise ayarların nasıl yapılacağını anlatır mısınız lütfen. İlginize teşekkürler.

sımışka

İki farklı projeni birleştirmek istiyorsun ve rtos kullanmak istiyorsun diye yorumluyorum. Temsili olarak yazıyorum ;

int main {
thread_create(task1);
thread_create(task2);
}

task1{
for(;; ) {
buton_led_kontol();
}
}

task2 {
for(;; ) {

uart_rxtx();
}
}

Uart

Hocam multitask projesiyle ilgili olarak rtos kullanmadım. rtos kullanmayı öğrenmeden evvel konuya hakim olmak için https://www.romanblack.com/PICthread.htm sayfasındaki "TMR0 interrupt is the thread control engine and timer generator." başlıklı kod örneğini xc8 ile kullandım. daha önceden bu kodda ki yöntem ile arduino üzerinde çalışmıştım ancak tüm kodlar bir birine uyumlu olduğu için bir sorun olmadı. burada ise tmo0 kesmesi ile her görev için ayrı bir kesme oluşmasını beklediğimden sorun olduğunu değerlendiriyorum. burada uart hakkında bi öncelik olması gerekli diye düşünüyorum. uart veri aldıkca kendi kesmesini yapacağı ve öte yandan da tmr0 düzenli olarak kesme yapacağı için bir sorun olacak sanırım. bu sorunu nasıl çözebilirim. teşekkürler.