16f1827 stack taşması ?

Başlatan F.T, 15 Mayıs 2015, 19:45:00

F.T

Program sürekli stack taşması yapıyor.Sebebini bir türlü bulamıyorum.Fakat shout satırını iptal edersem taşma olmuyor.
;-------------------------------------------------------------------------------
;**** Added by Fuse Configurator ****
; Use the Fuse Configurator plug-in to change these settings

	Device = 16F1827

	Config1 FOSC_INTOSC,WDTE_OFF,PWRTE_ON,MCLRE_OFF,CP_ON,CPD_ON,BOREN_OFF,CLKOUTEN_OFF,IESO_ON,FCMEN_On
	Config2 WRT_ALL,PLLEN_ON,STVREN_ON,LVP_OFF,BORV_19,LVP_OFF

;**** End of Fuse Configurator Settings ****
;-------------------------------------------------------------------------------       

Declare Xtal=32      
OSCCON= %11110000   'PLL enabled, Internal   


TRISA=%00000000:PORTA=0 
TRISB=%00000000:PORTB=0  

Dim SATIR    As Byte
Dim SUTUN    As Byte 


Symbol DS   =PORTB.0                 '74hct595 ayak bağlantıları
Symbol SHCP =PORTB.1
Symbol STCP =PORTB.2

BASLA:
           
SATIR=20
SUTUN=20

GoSub SUT



GoTo BASLA  


SUT:      
Low STCP
SHOut DS,SHCP,1,[SATIR,SUTUN] 
High STCP  
Return 





http://www.dosya.tc/server/ykat93/Yeni_Klasor.rar.html

Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

RaMu

#1
Asm çıktısını inceledim,
derleyicide problem var,
asm yi kendim düzeltip derleyince
stack hatası vermiyor doğal olarak.
Düzenlenlediğim çıktı

http://www.dosya.tc/server/ic4qy8/asm1_shout_1.rar.html

Birazdan bence hatalı olan kısmı açıklarım.

mesaj birleştirme:: 15 Mayıs 2015, 21:10:36

Asm çıktıya bakınca shout un ilk işlendiği yer
F1_000033 equ $ ; IN [SHOUT_1.BAS] GOSUB SUT
    call SUT
F1_000035 equ $ ; IN [SHOUT_1.BAS] GOTO BASLA
    goto BASLA


call SUT ile SUT altprogramını çağırıyor.
SUT altprogramında:
    movwf PP0
    call __SHOUT_8_
    movf SUTUN,W

__SHOUT_8_ diye isimlendirilmiş bir altprogram çağrılıyor
bu altprog yukarıda biryerde tanımlı
ctrl+f ile buluyoruz
önemli kısmı şu kadar
__SHOUT_8_
    movlw 8
__SHOUT_
    clrf 5
    movwf 42
    btfsc 36,0
    call __REVERSEBITS__16_
    movf 33,W
    movwf 4
    movf 34,W
    btfsc 36,2
    call B@HI


burada call ile çağrılan altprogramlara bakınca
reversebits ve içindekilerde return ile dönüş var.

Ama
B@HI altprogramına bakalım:

B@HI
    iorwf 0,F
    bra OUT@T
B@LO
    xorlw 255
    andwf 0,F
    bra O@BI
OUT@T
    xorlw 255
O@BI
    bsf 4,7
    andwf 0,F
proton#main#start

Burada B@HI altprogramı
bra ile out@t ye dallanıyor
xor komutuyla devam edip sonra O@BI ye geliyor,
olay burada kopuyor,
bsf ve andwf den sonra
return olması lazım
ama programın başlangıcı olan main start a kayıyor.

şimdi buraya yani o@bi ye
O@BI
    bsf 4,7
    andwf 0,F
RETURN

return eki yapar ve
yukarıdan assemble dersek,
artık bu üretilen hex stack hatasız şekilde çalışıyor.

Bence programda bug var,
ayrıca başka mcu ile (16f628a) programı denedim hatasız çalışıyor.


mesaj birleştirme:: 15 Mayıs 2015, 21:16:05

Bu arada proton basic bilmiyorum sayılır,
yanlış bir şey söylediysem affola.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

F.T

#2
RaMu hocam zaten programın altını üstüne getirmişiniz.:))
Hocam elinize sağlık.Bu arada bu tip hatalara başka rastlayan varmı?
Acaba protonun hangi programı stabil bilen varmı?Yada proton kullanan arkadaşlardan ricam kendileride derleyip  denerlerse memnun olurum.Ben 3.5.5.5 compılerı kullanıyorum.Sorun benim programlamı alakalı...


Hocam verdiğiniz hex benim 16f1827  isis simülasyonunda çalışmıyor.
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

RaMu

#3
MCLR yi açmışım, +5V e çekince çalışır.
Senin konfigurasyonunlada derler gönderirim istersen.
YAda dediğim satırı return leyip assemble de aynı şey.

mesaj birleştirme:: 15 Mayıs 2015, 23:12:49

Tamamen senin yazdığın program ayarlarıyla
ve dediğim düzeltmeyle beraber derledim,
isis de denedim stack hatası yoktur, Mclr değişikliği felan yok.

http://s3.dosya.tc/server2/7zyn9v/RaMu_2.rar.html
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

F.T

Hocam derleyebilrseniz sevinirim.Protonun 3.5.5.5 ini kullanıyorum.3.5.7.1 yükledim yine aynı oluyor.Sağlam bir programla derlemek lazım.Bunlarda hep sorun var heralde.
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

RaMu

3 nolu mesadakini deneyip durumu bildirebilir misin?
Birde stack hatası yok artık,
program doğru çalışmıyor olabilir.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

F.T

#6
Hocam stack hatası yok ama program çalışmıyor.

Ne yapsamda bunun reset atması gerekiyor.mclre on yapıyorum ayak boşta reseti kesiyor,ayağa direnç atıp artıya bağlıyom reset atmaya başlıyor.trias a mclre ayağını çıkış yapıyorum kesiyor.Ne kadar alakasız durumlar oluyor anlamadım.Bu sıkntı acaba proteusetanmı oluyorki.
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

RaMu

#7
Symbol DS   =PORTB.0                 '74hct595 ayak bağlantıları
Symbol SHCP =PORTB.1
Symbol STCP =PORTB.2

shcp ve stcp isisde belirtilen pinlere bağlı değil.

mesaj birleştirme:: 16 Mayıs 2015, 00:24:39

3 nolu mesajdaki hex ve
isisde shcp stcp yer değiştirince
şöyle oluyor simulasyon sonucu:

Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

F.T

hocam ben o sonucu yakalayamadım bir türlü sizden ricam o şekilde yüklermisiniz.ayrıca hex i nasıl oluşturdunuz.
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

RaMu

#9
shout_1.hex
reset1 adlı simulasyon

http://s5.dosya.tc/server2/hdnh1l/shout_stack_err.rar.html

mesaj birleştirme:: 16 Mayıs 2015, 01:11:23

Hexi 1 nolu mesajda anlattığım gibi oluşturdum.
Asm kısmına ek yaptım yani.

mesaj birleştirme:: 16 Mayıs 2015, 02:08:10

Sessiz çekim ama yaptığım bundan ibaret:
https://www.youtube.com/watch?v=6o5Ld38g8jE&feature=youtu.be
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

F.T

RaMu hocam elinize sağlık.Yardımlarınız için teşekkür ediyorum.Ayak problemi normalde şemamda ve ana programımda yok.SHOut DS,SHCP,1,[SATIR,SUTUN] hata burdan oluyor diye baya bir deneme yaptım ayak bağlantılarıda bu şekilde hata olarak kalmış.
Bu proton adamı fena yapıyor :))
Sanırım proton hataları iyice artmaya başladı.ben en iyisi tekrar mcs ye döneyim.İyi günler.
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Maxim

bu sorunu proton forumuna ilgili bölüme yazarmısınız?
varsa hata düzeltsinler
http://www.protonbasic.co.uk/forumdisplay.php/354-Anomaly-Reports

F.T

Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

xcyqp09k2

#13
beğler ben de aynı sorundan müzdaripim sanırım. 16f1827 ile yaptığım bir projede aynı hatayı alıyorum sanırım. bununla ilgili yeni bir konu açacağım zaten. dosyaları ve sesli videomu paylaşarak.

benim sorunumu anlattığım yazı linkim de bu https://www.picproje.org/index.php/topic,59393.0.html

Maxim

proton 3.5.7.4 versiyonu çıktı
hemen bu konu aklıma geldi, denedim hata vermiyor artık
sizde bakın