18f4550 Fuses konfigürasyonları (CCS C)

Başlatan ziyaretci, 03 Ağustos 2012, 18:12:42

ziyaretci

 Merhaba,

18f4550 konfigürasyonlarını CCS C derleyicisi PCW nin kütüphanesinden baktım bayağı fuses konfigürasyonları var ,Bunları neye göre yazmak gerekir.Ben 16f877 nin fuses konfigürasyonlarını attım fakat içine attığım program işlem görmedi.

  Yazılımımda #include<18f4550.h> olarak tanımlamayı değiştirdim. XT hariç hepsini kapatmak istiyorum.Kütüphanedeki bütün fuses konfigürasyonlarını yazılımıma duyarlamam  gerekli.

  Aşağıda 18f4550 CCS C fuses konfigürasyonları var. Bunları mesela pll4,pll3 vs. vs bunları kapatmak için , hepsine nopll4, nopll3 vs vs  hepsini işlemem mi gerekiyor?

Daha doğrusu ben işin mantığını istiyorum.Şimdiye kadar yaptıklarım hep ezberdi.


//////// Fuses: XT,XTPLL,EC_IO,EC,ECPIO,ECPLL,INTRC_IO,INTRC,PROTECT
//////// Fuses: NOPROTECT,BROWNOUT_NOSL,BROWNOUT_SW,NOBROWNOUT,BROWNOUT,WDT1
//////// Fuses: WDT2,WDT4,WDT8,WDT16,WDT32,WDT64,WDT128,WDT,NOWDT,BORV20
//////// Fuses: BORV28,BORV43,BORV46,PUT,NOPUT,CPD,NOCPD,NOSTVREN,STVREN
//////// Fuses: NODEBUG,DEBUG,NOLVP,LVP,WRT,NOWRT,WRTD,NOWRTD,IESO,NOIESO
//////// Fuses: FCMEN,NOFCMEN,PBADEN,NOPBADEN,CCP2B3,CCP2C1,WRTC,NOWRTC,WRTB
//////// Fuses: NOWRTB,EBTR,NOEBTR,EBTRB,NOEBTRB,CPB,NOCPB,MCLR,NOMCLR
//////// Fuses: LPT1OSC,NOLPT1OSC,XINST,WDT256,WDT512,WDT1024,WDT2048
//////// Fuses: WDT4096,WDT8192,WDT16384,WDT32768,NOXINST,INTXT,INTHS,HS
//////// Fuses: HSPLL,PLL1,PLL2,PLL3,PLL4,PLL5,PLL6,PLL10,PLL12,CPUDIV1
//////// Fuses: CPUDIV2,CPUDIV3,CPUDIV4,USBDIV,NOUSBDIV,VREGEN,NOVREGEN
//////// Fuses: ICPRT,NOICPRT



Örnek olarak 16f877 de kaynaklarda aşağıdaki konfigürasyonlar kullanılıyor.

fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD


serhat1990

Datasheet Configuration Bits bölümünde işin mantığını görebilirsin. 18F4550 datasheet sayfa 292 işin mantığını öğrenmede yardımcı olur. Bunların ne olduğunu öğrenebilirsin.

ziyaretci

teşekkür ederim.


Şimdi 16f877 ile 18f4550 nin port dizilimleri aynı 18f4550 nin hafızası fazla olduğundan devreme onu takıcaktım.
nasıl olsa port dizimleri aynı olduğu için devrede  değişiklik yapmamada gerek kalmadı fakat yazılımmı ona 18f4550 ye attım.Portları sadece giriş çıkış olarak kullandım.

fuses konfigirasyonunu aşağıdaki gibi yaptım ne kadar özellik varsa kapattım.
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NOWRTD,NODEBUG,NOCPD,NOIESO,NOSTVREN,NOFCMEN,NOPBADEN,NOWRTC,NOWRTB,NOEBTR,NOEBTRB,NOCPB,NOLPT1OSC,NOXINST,NOUSBDIV,NOVREGEN,NOICPRT


Bir diğer konfigürasyonlarıda yani ana program başlangıcında tanıtmamız atamamız gereken konfigürasyonlarıda  aşağıdaki gibi
       
setup_psp(PSP_DISABLED);   
       setup_timer_1(T1_DISABLED); 
       setup_timer_2(T2_DISABLED,0,1);  
       SETUP_TIMER_3(T3_DISABLED);
       SETUP_PSP(PSP_DISABLED);
       setup_adc_ports(NO_ANALOGS); 
       setup_adc(ADC_OFF);    
       setup_CCP1(CCP_OFF);   
       setup_CCP2(CCP_OFF);



fakat galiba bir yerde bir şey atılıyorum olamalı ki  yazılımımı pic e attığımda portlarda herhangi bir çıkış göremiyorum.

Ayriyeten şunuda belirteyim;

#use fast_io(a)
 #use fast_io(b)
 #use fast_io(c)
#use fast_io(d) 
#use fast_io(e)


giriş çıkış komutlarını portlara yönlendirdikten sonra

set_tris_a(0x00);
set_tris_b(0x00);
set_tris_c(0x00);
set_tris_d(0x00);
set_tris_e(0b111);


olarak tanımladım.   

Ayriyetten 20Mhz kristal taktım.Yazılımda bunuda belirttim.

Dediğim gibi yazılımda sadece portları giriş çıkış( I/O) olarak kullandım.Fakat portlarda çıkış yok girişleride algılamıyor.Zaten girişleride portlara çıkışı kontrol etmek için kullandım.Giriş olsa bile çıkış olmayacağı için sonuç yok. Yardımcı olursanız sevinirim.

skara1214

fusesda xt yazıyor 20 mhz için onuda değiştirdin mi?
Herkes ölür ama herkes gerçekten yaşamaz

serhat1990

HS yapman gerekir. Datasheet'i bir incele.

#FUSES HS, şeklinde.

ziyaretci

#5
Evet xt olarak ayarlı  serkan abi fakat hs neden? Şuanda inceliyorum.

-------------


abovvv bu 20 Mhz için HS diyor yaw  galiba bu sorun birazdan denerim gerekli cevabı veririm. Teşekkürler @serhat1990

----------------

Tamam oldu  877 ile aynıdır diye datasheet e  bakmadım XT sanmıştım.

serhat1990

Benden bir öneri hangi dilde yazarsan yaz en azından configuration ayarlarına göz gezdir :)

İyi çalışmalar.

ziyaretci

Alıntı yapılan: serhat1990 - 04 Ağustos 2012, 02:16:24
Benden bir öneri hangi dilde yazarsan yaz en azından configuration ayarlarına göz gezdir :)

İyi çalışmalar.

Bundan sonra gezdiririm artık zorluk çektim ya yaşamadan öğrenilmiyor :D


   Şuraya bak ya Vusb pini için yarın devre üzerinde oynama yapıcam oyy oy :S  Yaktı beni .S


Neyse tekrar teşekkür ederim. @serhat1990