Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

18f46k22

Başlatan xoom, 15 Ocak 2013, 11:56:30

skara1214

#15
#include <18F46K22.h> 
#fuses HSH,NOWDT,NOPLLEN
#use delay(clock=20M)
#use delay(clock=20M) 
#use rs232(baud=9600,UART,errors) 
#define RxBufSize 14 
#define TxBufSize 10 
#define TxCode 3 
int16 Tmr = 0; 
int8 Device=0,i=0,sayac=0; 
int8 TxBuf[]={55,55,55,55,55,55,55,55,55,55}; 
int8 RxBuf[TxBufSize]; 
int8 RxSay = 0; 

void yolla()//master komut yollama 
{       
    for(i=0;i<10;i++)printf("%d ",TxBuf[i]);     
} 
//-----------------------------------------------------------------// 
void ayar() 
{ 
switch (Device)//slave adres ayarlama 
      { 
         case 1:yolla(); Device=0;break; 
         case 2:yolla(); Device=0;break; 
         case 3:yolla(); Device=0;break; 
         case 4:yolla(); Device=0; Sayac=0;break; 
      } 
} 
//-----------------------------------------------------------------// 
void main() 
{ 
   while(TRUE) 
   { 
   printf("baglanti var \n\r ");
   yolla(); 
     delay_ms(1000);
  
   } 
  
}


birşey görememnizin sebebi putc nin karakter yollaması yani siz 1 sayısı yolluyorum zannederken aslında asci karşılığı 1 olan birşeyi yolluyorsunuz onuda zannımca yollamıyor yollamak istediğiniz integer sayıyı ilk önce string yapıp sonra yollayın yada printf ile ("%d ",buffer ); şeklinde kullanın  verdiğim kodu derlerseniz fikir sahibi olursunuz
Herkes ölür ama herkes gerçekten yaşamaz

Okan AKÇA

rs 232 verici kısmı

int8 data;
while(true)
{
data++;
if(data>255) data=0;
putc(data);
delay_ms(500);

}


rs232 alıcı kısmı


int data;
while(treu)
{
data=getc();
output_b(data);

}

xoom

#17
Yardımlar için teşekkürler.. ben zaten sayı göndermeye çalışmıyorum karakter gönderiyorum... mesela 0x24 = $ işaretinin karşılığı gibi..

0x24	0x0024	- DOLLAR SIGN         - $	ASCII


18f452'de sorunsuzca gönderebiliyordum..
ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/ATARIST.TXT


sadogan

Sanırım proteusla ilgili bir sorun var 18f46k20 transmit yapınca terminalde çıkıyor
ama 18f46k22 de yok.

Okan AKÇA

sürümden kaynaklanan bazı hatalar var  bende genelde 877 ile test yapıyorum

xoom

Bende bunu merak ederek sordum mesela 18f46k20 tek usart var acaba bu 18f46k22 cift usart oldugundan sikinti oluyor diyebilirmiiz. Yoksa kodlarimda sikinti yokmudur.

Okan AKÇA

genelde usart modüllerinde bir sıkıntı yok  ancak yinede denemek lazım gercekle sanal birbirinden farklı sonuclar verir.

xoom

#22
Şu 46k22 Pic Kafamı bozmaya başladı.. 4.Mesajdaki kodlarımı inceliyorum ama bana pek hatam yokmuş gibi geliyor? acaba sıkıntı Proteus 7.10 da mı?
sadogan  hocam siz hangi sürümde denediniz?

Okan AKÇA

şu anki projelerimde 46k22 kullanmaktayım her hangi bir sorun cıkmadı bu güne kadar .

xoom

Peki Siz Proteusta Simülasyon yapıyormusunuz? yani ben ilerleme katedip etmediğimi şuan için proteusta görebilirim..hafta içi ancak elime geçer 18f46k22 bi ihtimal 18f45k22'de alabilirim..
benim verdiğim dosyaları Simülasyon yaparmısınız sorun belkide bendedir?

Okan AKÇA

devrelerimde sorunsuz olarak calışıyor. kesinlikle 46k22 lerde hataya rastlamadım varsa bile biz bunu farkedemeyiz sizin sorun proteustan yada sizin yazılımdan kaynaklanmaktadır.büyük ihtimalde sizin programda sıkıntı vardır.

sadogan

Alıntı yapılan: xoom - 15 Ocak 2013, 16:58:28
Şu 46k22 Pic Kafamı bozmaya başladı.. 4.Mesajdaki kodlarımı inceliyorum ama bana pek hatam yokmuş gibi geliyor? acaba sıkıntı Proteus 7.10 da mı?
sadogan  hocam siz hangi sürümde denediniz?
7.10 sürümde denedim.
ccs den işe şüpem yok daha once 18f45k22 ile geçekdevre de çalıştırdım

xoom

Ben zaten ikisinden de şüpheli değilim sorun kesin benim kodlar da ama neresinde onu bulamadım..

xoom

1 Haftadır 18f45k22 veya 18f46k22 veyahutt üzerinde çift USART'ı olan  DIP Model MCU arıyorum.. Expkits ve Elektrovadide yok.. Karaköyde Telefonla sordum yok.. başka bulabileceğim yer bilen birisi yardım edebilir mi?

frederic

18F46K80 i dip olarak bulabilirsiniz aslında aradığınız yerlerde.