Ynt: program hatası

Başlatan cann, 28 Kasım 2012, 13:35:52

cann

İyi günler

daha önce forum yardımıyla yazdığım program çalışıyor, ancak çalışırken sorun çıkıyor bazen,
16f877a resetliyor, yada mantık hatası var. donanımsal hatalara yönelmek için önce programı gözder geçirmek gerek

aşağıdaki programda yazılış hatası yada eksiklik varmı? programın gerş kalanı sadece HPWM nin değeriyle ilgili

define  OSC 20
TRISA.0 = 1
TRISA.1 = 1
TRISA.2 = 0
TRISA.3 = 1
TRISA.5 = 0
TRISC = 0
TRISD = 0
ADCON1 = %00000100
CMCON=7
define ADC_BITS 8
define ADC_CLOCK 2
define ADC_SAMPLEUS 100
DEFINE CCP1_REG PORTC 'HPWM PORTC.1
DEFINE CCP2_REG PORTC 'HPWM PORTC.2
DEFINE CCP1_BIT 1 'CCP1 PİNİ PORTC.2
DEFINE CCP2_BIT 2 'CCP1 PİNİ PORTC.1

teşekkürler

mesaj birleştirme:: 29 Kasım 2012, 09:38:25


cann

yok mu bir hayırsever  :)

Tagli

Kim nasıl yardım edebilir ki?

Ortaya çıkan sorun ve sorunun ne zaman kendini gösterdiği açık değil.
Programın ne yaptığı hakkında hiçbir fikrimiz yok.
Programın sadece bir kısmını görüyoruz, ki o kısım da pek birşey yapmıyor gibi zaten.
Devre şeması da yok. Donanım hakkında hiçbir fikrimiz yok yani.
Gökçe Tağlıoğlu

cann

doğru
bende herkes ne yaptığımı biliyor sanıyorum :)

16f877a ile motor kontrolü, iki hpwm elde ederek, iki motor sürmeye çalışıyorum, potansiyometre ile.

sağlıklı çalışıyor aslında ilk başta bir süre sonra, örneğin geri dönme modundayken (adc ile pot voltajı 8 bitte 100 değerinin altındayken yani) ileri yöndede çıkış geliyor mosfet sürücüye..

bir süre 0 değerde yani ne ileri ne geri değerde bırakırsam tekrar düzeliyor.

ete

Yazdığın bölümde hata yok. Hata, muhtemelen vermekten kaçındığın diğer bölümde.
Bu tür durumlarda stack hatasına çok rastlıyorum. Yani Gosub ile gidilen yerden Goto ile dönülmesi. Yada goto ile gidilen yerden Return ile dönülmesi gibi sorunlar nedeni ile program ya kilitlenir yada reset atar.

Verdiğin kısım bir program değil bir kaç tanımlama sadece.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com