Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

Hi -tech derleyicisi

Başlatan selvi, 10 Ocak 2014, 09:48:46

Erhan YILMAZ

Alıntı yapılan: Fkarizmatik - 12 Ocak 2014, 17:21:44
Sökmeye gerek yok.Yaptığımız güç kaynakları,statik regülatörler,invertör cihazlarında hepsinde pic serisi kullanıyoruz.Konuyu fazla saptırmak istemiyorum bende.Hatta tamiratını yaptığım ithal cihazlarda dahi pic geliyor.Sadece 2 cihazda atmel gördüm o kadar.


İşte arıza yapmıyorda ondan 2 tane gördün.
Çünkü alıştığınız için pic kullanıyorsunuz. Muhakkak kullandığınız picin fiyatında benzer hatta daha iyi x bir denetleyici bulunur.
Tamirata devam...

Mr.Java

İyide böyle düz mantık kullanılmaz ki arkadaşım.Arıza yaptı diye içerisinde pic arıza yaptı diye vermiyor hatayı.Yok fare kemiriyor kabloyu,yok müşteri akü değiştirirken ters bağlayıp şarjör kartı yakıyor v.s. Anakartında zaten hiçbir zaman arıza vermedi en parazitli ortamda dahi..Lütfen tam okuyup idrak edin,sonra yorum yapın.

robomaster

Alıntı yapılan: Erhan YILMAZ - 12 Ocak 2014, 19:44:52
İşte arıza yapmıyorda ondan 2 tane gördün.

Değerli kardeşim şu soruya cevap verebilirseniz biz daha aydınlanmış olacağız.

Pic nerlerde arıza yapıyor?
Pic in arıza yaptığı yerlerde atmel neden yapmıyor?


LukeSkywalker

Atmel mcular daha ucuz fakat pic mcular daha yaygin.

selvi

#34
mlab ide v8.15a arayuzu ve HI-TECH ANSI C Compiler kullandim.yazdigim programlarda hep hata veriyor.eksik birseyler yapiyorum.ama tespit edemedim.yeni bir projenin olusturulmasi ve derlenmesine iliskin kisaca bilgi verebilirmisiniz.
  hazir programlari derleyebiliyorum.ama soyle bir sey de cikti.ayni programi bazen derlerken hata veriyor.bazen de hata vermiyor.sonrasinda hatayi  duzeltim.nicin hatali bir programi hatasiz olarak derliyor.

  bir programi derledim.once asagidaki sekilde hata verdi.
Error   [192] E:\16f88\si4432_single_TX_en.c; 167.1 undefined identifier "ANSELH"
Error   [192] E:\16f88\si4432_single_TX_en.c; 168.1 undefined identifier "WPUA"
Error   [192] E:\16f88\si4432_single_TX_en.c; 169.1 undefined identifier "IOCA"

sonrasinda bir daha derledim hatasiz derledi.simdi bu programda hata var mi yokmu nasil anlasilacak.
Build E:\hi_tech\hi-tech programlari\16f88\16f88_tx\tx for device 16F88
Using driver C:\Program Files\HI-TECH Software\PICC\PRO\9.65\bin\picc.exe

Make: The target "E:\hi_tech\hi-tech programlari\16f88\16f88_tx\si4432_single_TX_en.p1" is up to date.
Executing: "C:\Program Files\HI-TECH Software\PICC\PRO\9.65\bin\picc.exe" -otx.cof -mtx.map --summary=default --output=default si4432_single_TX_en.p1 --chip=16F88 -P --runtime=default --opt=default -D__DEBUG=1 -g --asmlist "--errformat=Error   [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s" 
HI-TECH C PRO for the PIC10/12/16 MCU family (Lite)  V9.65PL1
Copyright (C) 1984-2009 HI-TECH SOFTWARE
(1273) Omniscient Code Generation not available in Lite mode (warning)

Memory Summary:
    Program space        used   3E9h (  1001) of  1000h words   ( 24.4%)
    Data space           used    19h (    25) of   170h bytes   (  6.8%)
    EEPROM space         used     0h (     0) of   100h bytes   (  0.0%)
    Configuration bits   used     0h (     0) of     2h words   (  0.0%)
    ID Location space    used     0h (     0) of     4h bytes   (  0.0%)

Running this compiler in PRO mode, with Omniscient Code Generation enabled,
produces code which is typically 52% smaller than in Lite mode.
The HI-TECH C PRO compiler output for this code could be 520 words smaller.
See http://microchip.htsoft.com/portal/pic_pro for more information.

Loaded E:\hi_tech\hi-tech programlari\16f88\16f88_tx\tx.cof.

********** Build successful! **********
Yaşam anlamlandırıldıkça kutsaldır....

Tagli

Bir aralar MPLAB X de aynı saçmalığı yapıyordu. Programın kendisinde hata olduğunu sanmıyorum ama derleyici veya IDE ayarlarında bir eksik olabilir. Maalesef çözümü bilmiyorum ama sorun IDE'nin kendi bug'ı bence. Bir şekide derlemeyi başarabiliyorsan çok kafaya takma. Bence bir de MPLAB X ile dene.
Gökçe Tağlıoğlu

selvi

  16f88 WPUA,ANSELH,IOCA bunlari desteklemiyor.yani derleyicin ilk verdigi hata dogru gozukuyor."wpua"  pull up pinlerin aktif ve ya  pasif olmasini sagliyor."ansel" dijital ve analog durumlari belirliyor."ioca" cozemedim.
  bu durumda derleyicin ilk sonuclari dogru gibi.tabi sonrasindan hata yokmus gibi derlemesinide anlamadim.
Yaşam anlamlandırıldıkça kutsaldır....

Erol YILMAZ

9.65 i bende kullandım...
Bahsettiğiniz gibi gereksiz hatalarla karşılaşmadım.

Kullanmak istediğiniz Mcu nun, Include dosyalarını biraz inceleyin isterseniz.

selvi

  16F88 ile kucuk bir led programi yazdim.derledim hata veriyor.delay.h ve gecikmeleri kaldirinca derliyor.
#include <pic.h> 
#include "delay.h" 
void main (){ 
TRISA=0x00; 

PORTA=0x00; 
while(1){ 
RA0=1; //Led yandı
DelayMs(500); 
RA0=0; //Led Söndü
DelayMs(500); 
}
}


soyle bir hata veriyor.
Build C:\Users\MEZO\Desktop\deneme\d1 for device 16F88
Using driver C:\Program Files\HI-TECH Software\PICC\PRO\9.65\bin\picc.exe

Make: The target "C:\Users\MEZO\Desktop\deneme\d1.p1" is out of date.
Executing: "C:\Program Files\HI-TECH Software\PICC\PRO\9.65\bin\picc.exe" --pass1 C:\Users\MEZO\Desktop\deneme\d1.c -q --chip=16F88 -P --runtime=default --opt=default -D__DEBUG=1 -g --asmlist "--errformat=Error   [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s" 
Error   [141] C:\Users\MEZO\Desktop\deneme\delay.h; 35.18 can't open include file "dspic.h": No such file or directory

********** Build failed! **********
Yaşam anlamlandırıldıkça kutsaldır....

Tagli

Hata mesajından anlaşıldığı kadarıyla, delay.h kendi içinde dspic.h diye bir header dosyasını eklemeye çalışıyor ve bu dosyayı bulamıyor. Garip bir durum, neden PIC16 için olan bir program dsPIC adında bir header dosyasını eklemeye çalışsın ki? delay.h içeriğini görebilirsek belki daha fazla yorum yapılabilir.
Gökçe Tağlıoğlu

subram

XC'ye geçmeniz konusunda tekrar bir uyarı yaparak devam ediyorum;

delay.h dosyasını paylaşabilirseniz detaylı bakalım.
delay.h'nın içinde dspic.h kısmını bulup, kapatıp deneyin. Bu arada delay.h dosyasının orjinalini yedekleyin. Ne olur ne olmaz.
http://www.elektronark.org  Türkiyede Elektronik Kültürünü Değiştirmeye Geliyoruz

selvi

   HI-TECH SOFTWARE/PIC C/PRO/9.65/samples/delay klasorunde main.c dosyasi asagidaki sekildedir.

#include <htc.h>   // Required to interface with delay routines

#ifndef _XTAL_FREQ
 // Unless already defined assume 4MHz system frequency
 // This definition is required to calibrate __delay_us() and __delay_ms()
 #define _XTAL_FREQ 4000000
#endif

/** demonstration of various built-in delay mechanisms */
void main(void){
   while(1){
      NOP();
      _delay(1000);      // delay for 1000 instruction cycles
      CLRWDT();
      __delay_us(400);   // delay for 400 microseconds
      CLRWDT();
      __delay_ms(2);      // delay for 2 milliseconds
      CLRWDT();
   }
}
Yaşam anlamlandırıldıkça kutsaldır....

Tagli

selvi hocam, bize tam olarak delay.h gerekiyor. Hata veren yer orası çünkü.
Gökçe Tağlıoğlu

selvi

#43
 hi-tech klasorune baktim include klasorunde oyle bir dosya(delay.h) yok.sources klasorunde delay.c diye bir dosyada yok.
  normalde include dosyasinda mi olmali bu delay.h dosyasi.
 
daha buyuk programlari hatasiz derledi.sonra baktim gecikme fonksiyonlari olusturulmus.soyle;

void delay_1ms(unsigned char time)
{
	unsigned char i,k;
	for(k = 0; k< time; k++)
	{
		for(i = 0; i<130; i++)
		{
			NOP();
		}
	}		
}
Yaşam anlamlandırıldıkça kutsaldır....

selvi

 google delay.c ve delay.h dosyalari bulup projeye ekledim derlerken soyle bir hata verdi.
delay.h:
/*
 *   Delay functions for HI-TECH C on the PIC
 *
 *   Functions available:
 *      DelayUs(x)   Delay specified number of microseconds
 *      DelayMs(x)   Delay specified number of milliseconds
 *
 *   Note that there are range limits: x must not exceed 255 - for xtal
 *   frequencies > 12MHz the range for DelayUs is even smaller.
 *   To use DelayUs it is only necessary to include this file; to use
 *   DelayMs you must include delay.c in your project.
 *
 */

/*   Set the crystal frequency in the CPP predefined symbols list in
   HPDPIC, or on the PICC commmand line, e.g.
   picc -DXTAL_FREQ=4MHZ
   
   or
   picc -DXTAL_FREQ=100KHZ
   
   Note that this is the crystal frequency, the CPU clock is
   divided by 4.

 *   MAKE SURE this code is compiled with full optimization!!!
   
 */

#ifndef   XTAL_FREQ
#define   XTAL_FREQ   4MHZ      /* Crystal frequency in MHz */
#endif

#define   MHZ   *1000L         /* number of kHz in a MHz */
#define   KHZ   *1         /* number of kHz in a kHz */

#if   XTAL_FREQ >= 12MHZ

#define   DelayUs(x)   { unsigned char _dcnt; \
           _dcnt = (x)*((XTAL_FREQ)/(12MHZ)); \
           while(--_dcnt != 0) \
              continue; }
#else

#define   DelayUs(x)   { unsigned char _dcnt; \
           _dcnt = (x)/((12MHZ)/(XTAL_FREQ))|1; \
           while(--_dcnt != 0) \
              continue; }
#endif

extern void DelayMs(unsigned char);


delay.c:
/*
 *   Delay functions
 *   See delay.h for details
 *
 *   Make sure this code is compiled with full optimization!!!
 */

#include   "delay.h"

void
DelayMs(unsigned char cnt)
{
#if   XTAL_FREQ <= 2MHZ
   do {
      DelayUs(996);
   } while(--cnt);
#endif

#if    XTAL_FREQ > 2MHZ   
   unsigned char   i;
   do {
      i = 4;
      do {
         DelayUs(250);
      } while(--i);
   } while(--cnt);
#endif
}


hata mesaji:
Build C:\Users\MEZO\Desktop\deneme\d1 for device 16F88
Using driver C:\Program Files\HI-TECH Software\PICC\PRO\9.65\bin\picc.exe

Make: The target "C:\Users\MEZO\Desktop\deneme\delay.p1" is up to date.
Executing: "C:\Program Files\HI-TECH Software\PICC\PRO\9.65\bin\picc.exe" -od1.cof -md1.map --summary=default --output=default delay.p1 --chip=16F88 -P --runtime=default --opt=default -D__DEBUG=1 -g --asmlist "--errformat=Error   [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s" 
HI-TECH C PRO for the PIC10/12/16 MCU family (Lite)  V9.65PL1
Copyright (C) 1984-2009 HI-TECH SOFTWARE
(1273) Omniscient Code Generation not available in Lite mode (warning)
Error   [499] ; 0. undefined symbol:
	_main(startup.obj) 

********** Build failed! **********
Yaşam anlamlandırıldıkça kutsaldır....