İsiste PicBasic Kodların adım adım çalıştırılması.

Başlatan Mucit23, 27 Ocak 2012, 11:26:21

subram

coştum gidiyorum :) TOOL sekmesindeki tüm seçenkleri REMOVE yaptım PBPMPLAB kalıcı oldu ama sonuç aynı :(


Alıntı yapılan: Mucit23 - 28 Ocak 2012, 19:06:48
Evet ASEM51 kalıcı. PBPMPLAB Var ordan seçiyorsun ama kalıcı olmuyor. Acaba diğerlerini silsek sadece PBPMPLAB kalsa ne olur.

benden çok yaşayacaksın hocam :)
http://www.elektronark.org  Türkiyede Elektronik Kültürünü Değiştirmeye Geliyoruz

Mucit23

Yapılıyor işte bi şekilde okesin. İlginç olan Benim asıl konunun geçtiği mesajları bulamamam.  1400 küsür mesaj var hepsini inceledim. Burada bulamadım.

subram

biraz daha kurcaladım :) pic de .hex dosyasını gösterdiğimiz "program file" sekmesinde "xxx.COF" var.
http://www.elektronark.org  Türkiyede Elektronik Kültürünü Değiştirmeye Geliyoruz



subram

En sonunda :)  yalnız burda sadece registerleri izleyebiliyoruz. komutları da görebilseydiik iyi olurdu. PDF dosyasında anlatılan olay sanki komutlarla alakalı gibi. neyse şimdilik bu bile büyük bişey.
http://www.elektronark.org  Türkiyede Elektronik Kültürünü Değiştirmeye Geliyoruz

ete

Hepinizin gördüğü üzere benim daha önce açıkladığım şey yalnızca Isis de basic değişkenlerinin değerlerini program çalışırken takip etme metodu idi. Debug tamamenfarklı bir olay. Kısaca adım adım program çalıştırma konusunda bir açıklamam olmamıştı ve hatırlamamış olmamda bu açıdan doğal olsa gerek.

YAzılan mesajlara bakılırsa PBP da debug yapmanında bir yolu varmış gözüküyor. Bu yolun ne olduğu açıkça verilen PDF dosyasında belirtilmiş. Ben denemedim. BU açıklamalarda yer alan PBP260A sürümü aslında 260 sürümü olup A şeklinde bir yama yayınlanmış idi. O yamayı eklemez iseniz sürümünüz 260A haline gelmemiş oluyor.Muhtemelende bu kullanım şekli A yamasının bir marifeti.
Bu yamayı ilişikte veriyorum. İsteyen yükleyip deneyebilir.  ( http://dl.dropbox.com/u/25364674/Yama260A.rar)
Ben bu yöntemi denemedim her halde denememde. Çünki pek fazla ihtiyacım yok.
Ama deneyecekler için Pdf dosyasına bakarak önerilenler konusunda bazı şeyleri açıklamak isterim.
1. Birincisi programlarınıza .BAS şeklinde depil .PBP uzantısı verin. Biliyorsunuz bu bir seçenektir ve View menusunde  Editor Options seçeneğinde altlarda yer alan bir kutucuk var. "Yanında Use PBP or PBC as default extension on file save" şeklinde bir açıklama var. Bu kutucuğu işaretlerseniz programlarınız PBP uzantısı ile kayıt edileceklerdir.
2. MPASMWIN 5,35 versiyonunu kullanmanız gerekiyor. Her hangi bir versiyonla olmuyor. Pek çoğumuz Proteus/Tools menbüsündeki A-MPASM yi kullanıyoruz (hangi versiyonudr onuda bilmiyorum) bu versiyon olmayabilir. Bu nedenle en son MPASM versiyonunu yüklemeniz öneriliyor.
3. Tabiiki PBP260A versiyonuna sahip olmanızda ayrıca gerekiyor.
4. ISIS de , Yukarıda yer alan Source > Define Code Generation Tools... menüsünü seçin ve NEW (yani YENI) tuşuna tıklayın.
Karşınıza bir dosya aç penceresi gelecektir. Orada PBP klasörünüzü açın ve  PBPMPLAB.BAT dosyasınıseçin yada işaretleyin ( c:\pbp260\PBPMPLAB.BAT yada her nerede ise) Bu işlem PBPMPLAB "tool" sisteminin yaratılmasını sağlayacaktır.
Code Generation Tools sayfasında aşağıdaki alanlara karşılarında yazılı olanları doldurun ve en sonunda OK tuşuna tıklayın.
Source Extn: PBP
Obj. Extn: COF
Command Line: %1 -ampasmwin -oq -k#
List File Extn: LS
5. Sonra içinde pic olan bir devre yaratın yada çizin. Sonra onu bir yere kayıt edin.
6. Yukarıda yer alan  Source > Add/Remove Source files... menüsüne girin.
7. Orada "Code Generation Tool" kutusunu yanına tıklayarak açın ve altlard yer alan  "PBPMPLAB" seçeneğini seçin.
8.NEW tuşuna tıklayın ve ya yeni bir dosya adı yaratın yada eskisini kullanın.
9. Flags isimli kutuya devrenizde kullandığınız işlemciye ait olan ve MPASM klasöründe yer alan P16Fxxx isimli dosya adını yazın.
    Diyeimki devrenizde 16F628A kullandınız. Oraya P16F628A yazmanız yeterli olacaktır.
10. Source Code File Name kutusuna zaten programın PBP uzantılı ismini yazacaksınız.
11. Devreyi simule etmeye başladığınızda Isis otomatikman programı derleyecek ve onu kullanmaya başlayacaktır. Tabiiki bu işlem her zaman değil yalnızca programda bir değişiklik yaptığınızda gerçekleşecektir. Gerekirse source menüsünde en altta yer alan "Build All" seçeneğini seçerek derlemeyi kendinizde yaptırabilirsiniz.

Deneyin bakalım sonuç ne olacak.
Kolay gelsin.

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

Mucit23

Hocam proteustaki mpasm versiyonu çok eski 5.03 versiyonu var.
5.35 i bulamadım. Herhalde MPLAB ı yüklemek gerekiyor.

PBP nin yamasını uyguladım fakat uygularken bir hatayla karşılaştım. p18f4550.inc unkown version benzeri bir hata veriyordu. Bilinmeyen versiyon diyor. Bunun sebebi Daha önce PBP de 18F4550 ile çalışırken Config ayarlarının çakışmaması için PBP deki P18F4550.inc dosyasındaki configleri pasif hale getirmemden kaynaklanıyor. Tekrar aktif ederek onuda çözdüm.

MPASM nin 5.35 versiyonu varmı internette. Birkaç yerde tartışılmış ama hiç program link vs bulamadım.

Mucit23

Aynen Mplab ı yüklemek gerekiyormuş.
Ben Mplab 8.56 indirip kurdum. Baktım mplab içerisindeki MPASM nin versiyonu 5.37
Sonra MCS de Yeni MPASM nin yerini gösterdim. 16F628 için bi blink programı yazdım derledim buraya kadar problem çıkmadı. MPASM programı sorunsuz derledi.
Diğer işlemleride yaptım. Şimdi isiste MCU nun Edit componet Sayfasında, program file bölümünde xxx.COF yazıyor. Fakat isis programı derlerken hata veriyor. Daha doğrusu programı başlattığımıda aşağıdaki gibi bir hata veriyor.

image hosting jpeg

Yaklaştığımı düşünüyorum. Bi fikriniz varmı nerde hata yapmış olabilirim.

ete

Hata mesajında ERROR: şeklinde başlayan sondan bir evvelki satıra hatta ondan önceki VARNING satırınada bir bak istersen ne diyor.
Muhtemelen dosya adı (path) uzun geldiği için onu alıp derleyemedi. Bu nedenle PBP dosyasını gerekirse direk C altına kopyala ve yeniden derlemeye çalış bakalım.

Ete

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

Mucit23

Hocam çözdüm işi Şimdi oldu. Adım adım kodu çalıştırabiliyorum. Bi sunum hazırlayıp Tekrardan nasıl yapılacağını adım adım anlatacağım.

Mucit23

Biraz uğraştırdı ama sonunda çözdüm işi.
Ete hocamız çoğu yeri anlatmış ama ben yinede tekrardan adım adım nasıl yapılması gerektiğini anlatacağım

1- İlk başta yapılması gereken PBPnin Sürünümü yükseltmek gerekiyor. Sağolsun Ete hocamız aşağıdaki linke yüklemiş. Sizde oradan indirebilirsiniz.
( http://dl.dropbox.com/u/25364674/Yama260A.rar)
2- Daha sonra Programlarımızı MPASM ile derleyeceğimiz için MPASMWIN 5,35 Versiyonun bilgisayara yüklemeniz gerekiyor. Ben internette biraz gezindim ama MPASMWIN 5,35 Tek başına bulamadım. Bende MPLAB 8.56 'yı yükleyip Kendi bünyesindeki MPASM yi kullandım. MPLAB ile gelen MPASM nin versiyonu 5.37 idi. Herhangi bir sorun çıkarmadı. MPASM Bilgisayar üzerinde bulundurduktan sonra View>>Compile at Program Optinons penceresinden Assembler ı seçtikten sonra Find Manually Seçeneğine Tıklayarak Açılan yeni Pencerede C:/Program Files/Microchip/MPASM Suite klasörünü göstermeniz gerekiyor.
3- Derlediğimiz MCS ile Derlediğimiz program .PBP uzantısında olmak zorunda. Bu yüzden Eğer Derleyici .bas uzantılı dosya veriyor ise View>> Editor Optinos 'a tıklayın. Açılan pencereden "Use .PBP or .PBC as default extension on file save" seçeneğini aktif yapmanız yeterlidir.

Şimdi ufak bir Prgoram yazdım.
'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [Ferhat YOL]                                      *
'*  Notice  : Copyright (c) 2012 [Mucit23]                      *
'*          : All Rights Reserved                               *
'*  Date    : 29.01.2012                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
DEFINE OSC 4

@ __config _XT_OSC & _WDT_ON & _PWRTE_ON & _MCLRE_OFF & _LVP_OFF & _CP_OFF & _INTRC_OSC_NOCLKOUT

TrisA=$00
TrisB=$00
PORTA=$00
PORTB=$00
;_______________________________________________________________________________
DEFINE LCD_DREG	PORTB	    'LCD data bacakları hangi porta bağlı?
DEFINE LCD_DBIT		4		'LCD data bacakları hangi bitten başlıyor?
DEFINE LCD_EREG	PORTB	    'LCD Enable Bacağı Hangi Porta bağlı?
DEFINE LCD_EBIT		3		'LCD Enable Bacağı Hangi bite bağlı ?
DEFINE LCD_RSREG PORTB  	'LCD RS Bacağı Hangi Porta bağlı ?
DEFINE LCD_RSBIT	2		'LCD RS bacağı Hangi Bite bağlı  ?
DEFINE LCD_BITS		4		'LCD 4 bit mi yoksa 8 bit olarak bağlı?
DEFINE LCD_LINES	2		'LCD Kaç sıra yazabiliyor
;_______________________________________________________________________________

SAYI VAR WORD
PORTB.0=1
PAUSE 200
LCDOUT $FE,1
LCDOUT $FE,$85,"Mucit23"

BASLA:
 FOR SAYI=0 TO 1000
   LCDOUT $FE,$c0,"SAYI= ",#SAYI
   pause 10
 next
 lcdout $FE,1
GOTO BASLA
END


Programı derleyin.

4- Daha sonra Şemamızı çizip Programı derlediğiniz yere kaydedin.
Şemamız bu şekilde

image hosting

5- Daha sonra İsiste Source Menüsünden Defınee Code Generation Tools Seçeneğine tıklayın.
Açılan Pencerede Code Generation Tool Bölümünde Browse seçeneğine tıklayarak PBP klasörünün içindeki PBPMPLAB.BAT  dosyasını seçin. Bundan sonra Tool Bölümünde PBPMPLAB Yazması gerekiyor. Yazmıyorsa eğer listeden PBPMPLAB'ı seçin.
Make Rules bölümünde İse Source Extn bölümünde PBP, OBJ Extn bölümünde COF, Command Line Bölümünde %1 -ampasmwin -oq -k# , List File Extn Bölümünde LS yazması gerekiyor.
Tam olarak aşağıdaki gibi.

image hosting jpeg

6- Son olarak yapılması gereken yine View Menüsünden Add/Remove Source files seçeneğine tıklayıp açılan pencerede Code Generation Tool Bölünde Listeden PBPMPLAB 'ı seçin. Flags yazan yere ise kullandığınız Mcunun adını -pXXFXXX şeklinde girin.
Source Code Filename Bölümünde ise Browse seçeneği ile MCS ile Derlediğiniz .PBP uzantılı dosyayı seçin.

hosting images

Bu işlemleri yaptıktan sonra Source Menüsünden Build All Seçeneğine tıkladığınızda Karşınıza aşağıdaki gibi bir pencere gelecektir.

image hosting jpg
Bu mesajı aldıysanız her şey doğru demektir. İsis  Programı derleyip .cof dosyası oluşturmuştur. Zaten MCUnun program file bölümünde xxx.COF Göreceksiniz.

Bundan sonra Step Seçeneğine Tıklayarak Debug işlemini başatabilirsiniz.
Kısacık bir video.


Çok şükür bu işide böylece aydınlatmış olduk :)

subram

Bir @ETE klasiği daha. çok sağolun hocam. Bende kıllanmıştım  2.60A dan birşey olduğu belliydi. @ETE yine farkını koydu ortaya :)

Alıntı yapılan: subram - 28 Ocak 2012, 18:00:52
pc de PBP 2.47 yüklüydü. PBP 2.6 yı yükledim ama TOOL  sekmesinde PBPMPLAB seçeneği görünmüyor. PDF dosyasında PBP 2.60A diyor ama 2.60 dan farklı bişey mi?
http://www.elektronark.org  Türkiyede Elektronik Kültürünü Değiştirmeye Geliyoruz

subram

Programın içeriside yer alan  DEVICE satırlar için hata veriyor.

satırları (') ile kapatınca sorunsuz çalışıyor
@ DEVICE pic16F877
@ DEVICE pic16F877, WDT_off
@ DEVICE pic16F877, PWRT_OFF
@ DEVICE pic16F877, PROTECT_OFF
@ DEVICE pic16F877, XT_OSC




http://www.elektronark.org  Türkiyede Elektronik Kültürünü Değiştirmeye Geliyoruz

Mucit23

Alıntı yapılan: subram - 30 Ocak 2012, 20:38:33
Programın içeriside yer alan  DEVICE satırlar için hata veriyor.

satırları (') ile kapatınca sorunsuz çalışıyor
@ DEVICE pic16F877
@ DEVICE pic16F877, WDT_off
@ DEVICE pic16F877, PWRT_OFF
@ DEVICE pic16F877, PROTECT_OFF
@ DEVICE pic16F877, XT_OSC




(Resim gizlendi görmek için tıklayın.)

Derleme işlemi MPASM ile gerçekleştiği için config ayarlarını bu şekilde yazamazsınız. Buna hata veriyor.