Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Microchip PIC => Konuyu başlatan: robikod - 03 Ağustos 2017, 00:28:12

Başlık: Asembly Include Hatası
Gönderen: robikod - 03 Ağustos 2017, 00:28:12
Merhaba, seri porttan b harfi yolladığımda b portundaki ledleri terslemek istiyorum bunun için şöyle bir kod yazdım

https://paste.ubuntu.com/25228773/

ama hata alıyorum mantık hatası mı var ? yoksa kodda mı hatalarım var yardımcı olursanız çok sevinirim.

Aldığım hata satırı ise şöyle:

Error[105]   C:\USERS\xx\MPLABXPROJECTS\SERIAL.X\NEWASMTEMPLATE.ASM 3 : Cannot open file (Include File "RS232.ASM" not found)
Warning[207] C:\USERS\xx\MPLABXPROJECTS\SERIAL.X\NEWASMTEMPLATE.ASM 6 : Found label after column 1. (GELEN_KARAKTER)
Message[302] C:\USERS\xx\MPLABXPROJECTS\SERIAL.X\NEWASMTEMPLATE.ASM 13 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Message[302] C:\USERS\xx\MPLABXPROJECTS\SERIAL.X\NEWASMTEMPLATE.ASM 15 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Message[302] C:\USERS\xx\MPLABXPROJECTS\SERIAL.X\NEWASMTEMPLATE.ASM 18 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Warning[207] C:\USERS\xx\MPLABXPROJECTS\SERIAL.X\NEWASMTEMPLATE.ASM 27 : Found label after column 1. (ANA_PROGRAM)
Error[113]   C:\USERS\xx\MPLABXPROJECTS\SERIAL.X\NEWASMTEMPLATE.ASM 28 : Symbol not previously defined (RS232_TEST)
Error[113]   C:\USERS\xx\MPLABXPROJECTS\SERIAL.X\NEWASMTEMPLATE.ASM 31 : Symbol not previously defined (TEST_VERI)
nbproject/Makefile-default.mk:101: recipe for target 'build/default/production/newAsmTemplate.o' failed
make[2]: Leaving directory 'C:/Users/xx/MPLABXProjects/serial.X'
nbproject/Makefile-default.mk:84: recipe for target '.build-conf' failed
make[1]: Leaving directory 'C:/Users/xx/MPLABXProjects/serial.X'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
Başlık: Ynt: Asembly Include Hatası
Gönderen: Hadi - 03 Ağustos 2017, 00:37:49
end neden ortada?
Başlık: Ynt: Asembly Include Hatası
Gönderen: robikod - 03 Ağustos 2017, 00:41:24
Alıntı yapılan: Hadi - 03 Ağustos 2017, 00:37:49
end neden ortada?

Programın sonunda, alt programların üstünde olduğu için öyle yaptım. Ama değiştirdiğimde düzelmedi. RS232 yi bulamıyor ilk önce neden olduğunu anlamadım
Başlık: Ynt: Asembly Include Hatası
Gönderen: Hadi - 03 Ağustos 2017, 00:45:03
28. satırda, 36. satırı çağırıyorsun ama orası end'den sonra yazıldığı için erişilmez. zaten dikkat ederken son 2 hata bu yuzden.
Başlık: Ynt: Asembly Include Hatası
Gönderen: robikod - 03 Ağustos 2017, 00:52:18
Alıntı yapılan: Hadi - 03 Ağustos 2017, 00:45:03
28. satırda, 36. satırı çağırıyorsun ama orası end'den sonra yazıldığı için erişilmez. zaten dikkat ederken son 2 hata bu yuzden.

Tesekkurler diger hatalarin sebebi ne olabilir ?
Kod mantigi acisindan dogru mu peki gidis yolum
Başlık: Ynt: Asembly Include Hatası
Gönderen: Hadi - 03 Ağustos 2017, 01:00:54
şimdi hele mantığa bakamadım ama yine bir hata daha var

SUBLW GELEN_KARAKTER,W;

SUBLW komutunun destination select kısmı yok ki siz ,W yazmışsınız. acaba SUBWF mı yazacaktınız? orda bi hata var :)

bide bu RS232.ASM dosyasında ne var ki koda dahil ediyorsunuz?

ben o satırı yorum olarak yaptım ve sorunsuz derledim.
Başlık: Ynt: Asembly Include Hatası
Gönderen: kudretuzuner - 03 Ağustos 2017, 08:59:25
Merhaba,
(RS232_TEST)
(TEST_VERI)
önceden tanımlanmamış.
Error[113]   C:\USERS\xx\MPLABXPROJECTS\SERIAL.X\NEWASMTEMPLATE.ASM 28 : Symbol not previously defined (RS232_TEST)
Error[113]   C:\USERS\xx\MPLABXPROJECTS\SERIAL.X\NEWASMTEMPLATE.ASM 31 : Symbol not previously defined (TEST_VERI)
Başlık: Ynt: Asembly Include Hatası
Gönderen: Hadi - 03 Ağustos 2017, 13:13:05
Alıntı yapılan: kudretuzuner - 03 Ağustos 2017, 08:59:25
Merhaba,
(RS232_TEST)
(TEST_VERI)
önceden tanımlanmamış.
Error[113]   C:\USERS\xx\MPLABXPROJECTS\SERIAL.X\NEWASMTEMPLATE.ASM 28 : Symbol not previously defined (RS232_TEST)
Error[113]   C:\USERS\xx\MPLABXPROJECTS\SERIAL.X\NEWASMTEMPLATE.ASM 31 : Symbol not previously defined (TEST_VERI)

onlar etiket, önceden tanımlamaya gerek yok.  :)
Başlık: Ynt: Asembly Include Hatası
Gönderen: robikod - 03 Ağustos 2017, 23:10:56
Kodlardaki mantık hatasını çözemedim :/ Çalışmıyor hiç bir şekilde yardımcı olacak yok mu nerede mantık hatası var
Realtermden B gönderiyorum ledlerin yanması lazım olmuyor ( Virtual port oluşturdum)
Başlık: Ynt: Asembly Include Hatası
Gönderen: Hadi - 04 Ağustos 2017, 00:03:41
bende bi deneyeyim bakayım sorun nerde  :)

bişey gözume çarptı. TEST_VERI alt programında çıkarma işlemi yapıp demişsin ki aynı ise Z bayrağı 0 olur. ama ayni ise işlem sonucu 0 olup Z bayrağı 1 olur. orda mı hata yaptın acaba? Z nin 0 değil de 1 olmasını test etmen lazım.

kardeş senin program surekli dışarıya B gonderiyor. ;D
(aslında hep f gonderiyordu, B için yazdığın 066 yerine D'66' yazınca B gondermeye başladı. bildiğin gibi B nin ascii kodu 66 dır ama sen kodda 066 yazınca onu 102 kabul ediyor. D'66' ile ben decimal 66yi kastediyorum demen lazım)  - belki de butun testlerinde B yerine f gondermiş olsaydın çalışacaktı -
bide neden B karakterini TXREG e yukuyorsun ki? TXREG gönderme registeri değil mi?

son olarak RX pini yani PORTC nin 7. bitini nerde giriş yapmişsin göremedim de.  ???

şimdilik benden bu kadar, geç oldu  ;)
Başlık: Ynt: Asembly Include Hatası
Gönderen: kudretuzuner - 04 Ağustos 2017, 09:46:12
Merhaba,
PC'den bir baytlık bir karakter göndererek PIC'e işlem yaptırabilmek için PC'den yollanan hex değeri PIC'teki W değişkenine atadığınız değer ile XOR komutu ile karşılaştırıp gönderilen karakter ile karşılaştırmak ve eşit ise işlem yaptırmak gerekir.
Aşağıdaki ham kodlar size fikir verecektir.


1-W değişkenine hex'42' yani B yükleniyor
2-PC'den gelen data RCREG te W ile karşılaştırılıyor(bknz:EXOR tablosu)
3-işlem doğruluğu kontrol ediliyor
4-CALL komutu ile PIC'e alt rutinde işlem yaptırılıyor.
Eğer anlaşılmayan yerler var ise tekrar yazın lütfen.
Not:kod "B" harfi içindir
Anahtar kelime  RCREG dir



MOVLW B'01000010';    "B"  karakteri
XORWF RCREG
BTFSS STATUS,2
CALL İSLEM1
CALL İSLEM2