12f1822 ile basit bir led yakıp söndürme.

Başlatan dyonizos, 07 Kasım 2012, 23:56:51

Maxim

anlatamadım galiba ?

önce proteusta denemiştim çalışıyordu
sonra gerçek devrede denedim onda da çalışıyor

diyorum ya gözümün önünde 12F1822 ve led yanıp sönüyor

yukarıda verdiğim hex ile

dyonizos

#16
Pardon ben simulasyonda led yanıp sönüyor anladım.
Tekrar kontrol edip deniyorum aynı kodu.
MCLR off mu yaptınız siz yoksa pull-up direnc takılımı?

Alıntı yapılan: Maxim - 08 Kasım 2012, 15:08:29
anlatamadım galiba ?

önce proteusta denemiştim çalışıyordu
sonra gerçek devrede denedim onda da çalışıyor

diyorum ya gözümün önünde 12F1822 ve led yanıp sönüyor

yukarıda verdiğim hex ile

mesaj birleştirme:: 08 Kasım 2012, 15:29:57

Pickit3 de Config ayarları

0E04  1203 olarak görünüyor. Bunlarda bir farklılık varmı acaba sizde. Aynı kodu neredeyse satır satır kopyaladım devreyıde kontrol ettım. yok calısıyor. Pickit3 kullandıysanız Sag usttekı config ayarlarında aynı degerlermı var


0E04   -   00111000000100
1203   -   01010              11

görünüyor. aklıma artık sadece bu geldi.

Maxim

yukarıda benim verdiğim hex i yüklüyorum
kodu da verdim zaten

mlcr kapalı, yani ayak boşta
(config öyle zaten)

pickit2 ile atıyorum hexi
konfig: 0F84 1203 olarak gözüküyor

dyonizos

#18
3 adet pic ile denedim olmadı olmuyor olmıycak gıbı :)
Pic bozuk diycem CCS ile olan hex calıstı. Proton bozuk dıycem sizinkinde de bende de aynı hex cıkıyor. Pickit bozuk dıycem CCS ile olanı atınca calısıyor demekkı o da saglam. Siz pickit2 ile atıyosunuz calısıyor ayrıca.
Tek tek tellerı cıkarıp tekrar denıycem olmadı bu gece dua edip yarın bır daha baslıycam :)


mesaj birleştirme:: 08 Kasım 2012, 16:35:15

Olmadı yine :(
zaten topu topu 4 tane baglantı var onlarda zaten pickite gidiyor yanlıs olamazlar onun dısında led direk pic e baglı.  baglantı hatasıda yok.
gelde delirme şimdi. Pickit2 orjinal değil pici desteklemiyor :)
Elinde bu pic ve pickit3 ü olan birisi varsa maxim hocamın gönderdiği kodu deneyebilirmi acaba... Kendimden çok ciddi anlamda şüphe duymaya başladım.

Bu arada Maxim hocam bu Config ayarlarında verdiği değerler ile bizim config ayarlarında yazdığımız değerler tutmuyor. Bu nasıl bir iş. Biz code protect kapalı diyoruz ama pickit de configiration tıkladıgımızdaki bit degerleri farklı cıkıyor datasheet den.


mufitsozen

Alıntı YapTek tek tellerı cıkarıp tekrar denıycem olmadı bu gece dua edip yarın bır daha baslıycam :)

Sayin @dyonizos dua'ya ek olarak avatarinizin ait oldugu Sarap Tanrisinada bazi adaklar yapabilirsiniz, zihin acikligi yapar.

Hangi sehirdesiniz bilmiyorum ama, Ankarada iseniz Kavaklidere Saraplarindan Dyonizos'u memnun edecek bir kav secip, bu gece kafaya dikiniz. Yarin sabah uyaninca yeniden deneyiniz, devreniz calisabilir! :P
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

dyonizos

Ben bugun pickit3 u ve breadboardu şaraba yatırmayı dusunuyorum :)

Maxim

#21
Alıntı yapılan: dyonizos - 08 Kasım 2012, 16:24:53

Bu arada Maxim hocam bu Config ayarlarında verdiği değerler ile bizim config ayarlarında yazdığımız değerler tutmuyor. Bu nasıl bir iş. Biz code protect kapalı diyoruz ama pickit de configiration tıkladıgımızdaki bit degerleri farklı cıkıyor datasheet den.

hayır kontrol ettim bit değerleri hepsi doğru
fark yok
0F84 1203 bizim konfig ayarına denk

mesaj birleştirme:: 08 Kasım 2012, 18:28:46

edit:

çok acayip bir hata keşfettim !

mesaj birleştirme:: 08 Kasım 2012, 18:35:22

edit 2:

kodun içersinde en baştan beri hatalı olan bir satır var
Symbol ledPIN = TRISA.0

bunun Symbol ledPIN = PORTA.0 olması lazım

fakat led yanıyor bende ??
hatta ben bekleme süresini değiştirip de denedim led hızlanıyor falan..

fakat
led sönük yanıyordu
alla alla heralde direnç değeri yüksek geldi falan diyordum.

neyse sonra servo motor denemek için kod yazdım (aynı kodu değiştirdim)
yukarıdaki satır gene aynı kaldı yani
2 saattir bende onunla uğraşıyorum, bir türlü çalışmadı motor
en son fark ettim bunu

dyonizos

#22
tam bende led sönük yanıyor şimdi farkettim diycektim asıl hata ortaya çıktı :)
Şimdi çalışıyor sanki :)
İnsan görmeyince görmüyor demek vay be...
Çok çok teşekkürler maxim hocam. ellerin ve gözlerin dert görmesin :)


Alıntı yapılan: Maxim - 08 Kasım 2012, 17:43:58

çok acayip bir hata keşfettim !

mesaj birleştirme:: 08 Kasım 2012, 18:35:22

edit 2:

kodun içersinde en baştan beri hatalı olan bir satır var
Symbol ledPIN = TRISA.0

bunun Symbol ledPIN = PORTA.0 olması lazım

fakat led yanıyor bende ??
hatta ben bekleme süresini değiştirip de denedim led hızlanıyor falan..

fakat
led sönük yanıyordu
alla alla heralde direnç değeri yüksek geldi falan diyordum.

neyse sonra servo motor denemek için kod yazdım (aynı kodu değiştirdim)
yukarıdaki satır gene aynı kaldı yani
2 saattir bende onunla uğraşıyorum, bir türlü çalışmadı motor
en son fark ettim bunu

mesaj birleştirme:: 08 Kasım 2012, 20:50:50


Maxim

#23
aslında bunun üzerine gitmek lazım
yani Symbol ledPIN = TRISA.0 sonucunda bizim led nasıl olurda yanıp söner ?

tamam kısık falan ama resmen çalışıyor kod

bu bir bug mıdır? soru bu..
yoksa pic donanımı buna müsaitmi


edit:
aynı hatalı kodu 3.5.5.4 ile derleyip deneme yapıcam
bakalım sonuç değişecekmi?


edit2:
aynı değişen birşey olmadı

yanlız hemen protona suç atmayın
dikkat ediyorum, en çok suçlanan compiler proton, ardından en çok mahçup olunanda o !

aynı hatalı kodu aynı hata ile başka derleyicide derleyip gerçek işlemci üzerinde görmemiz lazım.
mesela yukarıdaki hatalı satır içeren kodu, hiç fark olmadan ccs de birisi derleyebilirmi ?

justice_for_all

TRISA.0 bitini 1 yapınca pin giriş oluyor ve bu yüzden led sönüyor.TRISA.0 bitini 0 yapınca çıkış oluyor ve ve çıkış temizlenmediği için daha led yanık duruma geçiyor.

Açıklaması bu.

Not : Herzaman tris ayarı yapılmadan önce o registere bağlı çıkış registerinin içi temizlenmelidir.
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

Maxim

Alıntı yapılan: justice_for_all - 09 Kasım 2012, 08:59:34
TRISA.0 bitini 1 yapınca pin giriş oluyor ve bu yüzden led sönüyor.TRISA.0 bitini 0 yapınca çıkış oluyor ve ve çıkış temizlenmediği için daha led yanık duruma geçiyor.

Açıklaması bu.

Not : Herzaman tris ayarı yapılmadan önce o registere bağlı çıkış registerinin içi temizlenmelidir.

tamam ama yanıkkenki parlaklık neden düşük o zaman ?
porta.0 olarak düzeltince led 10 katı daha parlak yanmaya başlıyor

justice_for_all

Alıntı yapılan: Maxim - 09 Kasım 2012, 09:05:03
tamam ama yanıkkenki parlaklık neden düşük o zaman ?
porta.0 olarak düzeltince led 10 katı daha parlak yanmaya başlıyor

bunu fiziksel ortamda gözlüyorsunuz değil mi?
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

Maxim

Alıntı yapılan: justice_for_all - 09 Kasım 2012, 09:19:57
bunu fiziksel ortamda gözlüyorsunuz değil mi?

evet..

not:12F683 de aynısı oluyor
tabi onda trisa.0 yerine trisio.0
porta.0 yerine gpio.0

justice_for_all

acaba söyle mi oluyor diye düsünüyorum.

a0 giriş olunca eğer pullup aktifse direnc değeri daha fazla olacagında led daha az parlak yanıyor olabilirmi (tabi ledin bir katodu gnd de ise)

çıkış yapıncada led sönüyor olabilirmi
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

Maxim

Alıntı yapılan: justice_for_all - 09 Kasım 2012, 09:36:12
acaba söyle mi oluyor diye düsünüyorum.

a0 giriş olunca eğer pullup aktifse direnc değeri daha fazla olacagında led daha az parlak yanıyor olabilirmi (tabi ledin bir katodu gnd de ise)

çıkış yapıncada led sönüyor olabilirmi

bravo aynen dediğiniz gibi
WPU=%00000000 yani pull-up ları kapattım artık hatalı kod ile led yanmıyor