18 F serisi kesme hakkında yardım !

Başlatan emrah, 25 Ekim 2011, 21:16:55

emrah

selam,

18F452 de bulunan  kesmelerini aynı anda kullanabilirmiyim? birbirlerinden bagımsız programlar çalıstırabilirmiyim?

örnegin;

ana programda butonların durumuna göre seri bilgi almalıyım

1. kesmede ana programdaki bazı şartlara göre çıkış almalıyım

2. kesmede 3 ayrı  pwm çıkışı almalıyım

amacım ana programı kasmadan başka işleri kesmeler üzerinde yapmam lazım

timer0,timer1,timer2,timer3 gibi kesmeleri kullanarak duşundugum gibi bir program yazılabilirmi? herhangi bir sıkıntı çıkarmı?

program olarak pic basic kullanıyorum .


bir sorum daha olacaktı;  3 adet HPWM özelligi olan pic hangisi?


teşekkürler...


mozkan87

Bu linkten istediğiniz özellikleri seçerek uygun kontrolörü bulabilirsiniz.


Karahan

bu şekilde kullanılabileceğini sanmıyorum, bahsettiğiniz şey çok kanallı çalışma "threat" yada çift çekirdekli işlemci; olursa süper olur. Bildiğim kadarıyla pic her saat darbesiyle aşağı yukarı bir işlem yapıyor, bence yapabileceğiniz tek şey işlemlerinizi farklı döngülere dallandırmaktır.

emrah

cevaplar için sagolun. RTOS ile hiç karşılaşmadım. tam olarak RTOS ile ne yapabilirim? bu bir programmıdır yoksa 18f özelligimidir?

18F serisinde birden fazla kesme var ve sadece birinimi kullanabiliyoruz?

sanırım ayrı işler için bir pice ihtiyacım daha olacak.

Karahan

Aynen öyle; inşallah double core'u pic'e de uygularlar ve pic'e aynı anda bir kaç iş daha yaptırabiliriz.İnşallah ben yanılıyorumdur... ::) RTOS'a gelince kısaca çiplere gömülü sistem olarak algılanabilir.Win isletim sistemiyle küçük bir cep telefonunu çalıştıran eprom lar gibi...

SERRO EFE

RTOS kullansan çok güzel olur ama yapacağın işler için 18f yeter..
yaptığım bi uygulamada
glcg ,barkod okuyucu ,encoder,seri haberleşme 2 adet, 24 lü tuş takımı
18f serisi ile sıkıntı olmadan çalışmıştı

emrah

Alıntı yapılan: SERRO EFE - 30 Ekim 2011, 22:14:15
RTOS kullansan çok güzel olur ama yapacağın işler için 18f yeter..
yaptığım bi uygulamada
glcg ,barkod okuyucu ,encoder,seri haberleşme 2 adet, 24 lü tuş takımı
18f serisi ile sıkıntı olmadan çalışmıştı

bu işlemleri bir ana döngü birde kesme ile mi yaptınız?

Okan AKÇA

aynı anda kesmeleri yapma imkanı yoktur ancak sıraya koyarak bütün kesmeleri rahatlıka yakalaypm işlmeme alabilirsin

örnek timer0 ile displey tarıyorsun
aynı andada seri iletişimden modbus veri gönderip alıyorsun
her iki kesmede aynı anda olursa ne yapmalıyız?
cevap aslında basit bütün kesmelerimiz donanımsal olacak kesinlikle yazılımsal olmayacak
pic icerisindeki bütün timer 0 timer 1 spı vs hepsi donanımsaldır.işlemciden harici calısır
ancak komut işlenirken  aynı anda iki modülden okuma yapılamaz biz bunları sıraya koyarsak
aynı anda olsa bile biz bir tanesinin işlerken diger modülümüz bizim icin  kesmeyi yakalayıp işleme komuştr.

muhittin_kaplan

18f452 nin datasheet ine baktım.
0008h(High Priority Interrupt Vector)ve
0018h(Low Priority Interrupt Vector)
adresleri interrupt vector olarak gösterilmiş. int öncelik vererek çalıştırabilirsiniz.


emrah

cevaplar için teşekkürler, program yazılırken interrupt yapılırken en sonda  kesme için br döngü kısmı oluşuyor. borda ben hangi işlem yapacagımki?  örnegin;

on interrupt goto kesme
tüm kesmeler aktif

menu:
.
.
.
.
goto menu

kesme:

.
.
resume

şeklinde oldugunda kesme kısmında  örnegin tus takımı taraması olsun. diger kesmeleri nerede açıpta şu komutları işle diye belirtecegim ?