printf Problem

Başlatan Erol YILMAZ, 20 Haziran 2004, 18:56:32

Erol YILMAZ

Selam;
CCS in cesitli versiyonlarinda (3.185 188 190 200)
printf("Herhangibir yazi "); fonksiyonu duzgun calismiyor.
Mesela h.h. bir degisken basmak istedigimde problem yok.
Ama sadece yazi basmak istedigimde "Reset" ile bas basa kaliyoruz.
Sadece printf(); in icine degisken koyuyorum isler duzeliyor...
Ne yapabilirim ?

DumrulBey

Merhaba,

Eğer iki farklı kullanım şeklinin derlenmiş ASM kodlarını buraya nakledersen sanırım problemin kaynağını bulabiliriz. O zaman duruma göre üretici firmaya bildirebilir veya kendimizce bir takım yerlerle oynayıp çözüm bulabileceğimizi düşünüyorum.

Sevgiler, saygılar...
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)

ise

printf(lcd_putc,"thief"); lcd ye yazmak için
printf("HEHE %d %bu",c,c); seri porta çıkmak için interruptlara dikkat edilmesi gerekir

Erol YILMAZ

LCD de h.h. gibi bir problem yok.
Sadece RS232 den saf text aktardigim zaman oluyor.

ahmetu

proteus simulasyonunda da sorun varmı?

Erol YILMAZ

Selam;
Problemin kaynagini buldum.
Olayin printf() icindeki yazinin cinsi ile alakasi yok.
Yazinin uzunlugu ile alakasi var.
RS232 den yazinin bir miktarini gonderip resetleniyordu.
Sonunda Resetin sebebinin WDT oldugunu buldum.
Fakat bir dandiklik var. Ben programin basina neden
power on  yapildigi ile ilgili bir kod koymustum.
Hic bir zaman beni WDT kaynakli diye uyarmadi.
Neyse problem WDT olunca ve kapatinca duzeliyor.

Fakat uzun textleri RS232'den WDT on durumunda nasil gonderecegiz?

ahmetu

birde putc("deneme deneme deneme deneme deneme"); şeklinde gönder

belki bu da iş görür #use delay(clock=4000000,RESTART_WDT)


kolay gelsin

Erol YILMAZ

Kardes;
putc(); tek bir karakter gonderiyor.

Text seklini bu sekilde gonderemeyiz.
Ayrica delay daki RESTART_WDT sadece delay da olabilecek WDT tasmalarini engelliyor.

Bu arada cozumu de buldum. #use rs232 de parametrelere restart_wdt yi de eklemek isi cozuyor. Gerci;
Alıntı Yap
Syntax:
#use rs232 (options)

Elements:
Options are separated by commas and may be:

BAUD=x
Set baud rate to x

XMIT=pin
Set transmit pin

RCV=pin
Set receive pin

RESTART_WDT
Will cause GETC() to  clear the WDT as it waits for a character.


diyor ama gonderirken ki --printf-- WDT tasmalarini da engelliyor.
Herkese teşekkürler...