Haberler:

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

Ana Menü

CCS C alıştırma Turlarım

Başlatan Mucit23, 10 Şubat 2012, 15:29:51

RaMu

#255
Alıntı yapılan: CORTEX - 15 Eylül 2015, 22:32:19
@RaMu Hocam Yetmediği yerler crack olduğundan kaynaklı olabilirmi ?
Alıntı yapılan: sadogan - 15 Eylül 2015, 22:58:17
Mesala nerde Ramu ?

Hayır,
misal
https://www.picproje.org/index.php/topic,59178.0.html
bu konudaki gibi, 16F18xx için IOC (Interrupt On Change)
portb nin herbir pininden ayrı ayrı kesme alma özelliği desteklenmemiş halen.
( IOC = herbir pinde RB0 kesmesi var gibi düşünülebilir.)

mesaj birleştirme:: 15 Eylül 2015, 23:04:33

Birde projenin başında kullandığımız,
Project Wizard ın aslında ayrı bir program olarak sunulması lazım,
programı yazmaya başladıktan sonra
misal timer1 ayarlayıp kesme için kurmak istedim,
veya timer0 ın ayarlarını değiştirmek istedim,
veya osilatörü harici-dahili, frekansını değiştirmek istedim,
vs. vs.
bunları manuel yapmak zorunda kalıyoruz,
program ayrı olarak çalışabilse
kodu o program üretir
bizde kopyalar yapıştırırız.
Belkide ayırmış sunmuşlardır, vardır, ama ben rastlamadım.

mesaj birleştirme:: 15 Eylül 2015, 23:09:51

Birde PIC32 yoktur.

+
MPLAB 8 IDE deki gibi güzel bir debugger kısmı yok.
MPLABx i pek kullanmadım aslında onunla kıyaslamak lazım debug kısmını.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

HeCToR

Anladım @RaMu Hocam acaba lisanslarda ne tür farklılıklar olabilir alıp görmek lazım
Bilginin Efendisi Olmak İçin Çalışmanın Kölesi Olmak Gerekir

Mucit23

Selamlar,

Pic18 Serisinde TFT LCD kütüphanemi yapılandırıyorum. Circle fonksiyonunda problem yaşamaktayım.

Daire çizmek için Line Fonksiyonu kullanılıyor
/******************************************************************************
*   Çizigi çizme fonksiyonu                                                   *
*   Parameter:    x1, x2, y1, y2                                              *
*   Return:                                                                   *
******************************************************************************/
void LCD_Line(unsigned int16 x1, unsigned int16 y1, unsigned int16 x2, unsigned int16 y2)
{
   signed int32 addx=1, addy=1, P=0;
   signed int16 i, dy, dx, diff;
   if(x2>x1) {
    dx = x2 - x1;
  }else{
      dx = x1 - x2;
      addx = -1;
   }
   if(y2>y1){
      dy = y2 - y1;
   }else{
      dy = y1 - y2;
      addy = -1;
   }

   if(dx >= dy)
   {
      dy *= 2;
      P = dy - dx;
      diff = P - dx;

      for(i=0; i<=dx; ++i)
      {
         LCD_PutPixel(x1, y1, TextColor);

         if(P < 0)
         {
            P  += dy;
            x1 += addx;
         }
         else
         {
            P  += diff;
            x1 += addx;
            y1 += addy;
         }
      }
   }
   else
   {
      dx *= 2;
      P = dx - dy;
      diff = P - dy;

      for(i=0; i<=dy; ++i)
      {
         LCD_PutPixel(x1, y1,TextColor);

         if(P < 0)
         {
            P  += dx;
            y1 += addy;
         }
         else
         {
            P  += diff;
            x1 += addx;
            y1 += addy;
         }
      }
   }   
}


Buda Circle Fonksiyonu
/******************************************************************************
*   circle Dravinf function                                                   *
*   Parameter:    x, y, Size                                                  *
*   Return:                                                                   *
******************************************************************************/
void LCD_Circle(unsigned int16 x, unsigned int y, unsigned int size, int1 fill)
{
   signed int16 a,b,P;
   a=0;
   b=size;
   P=1-size;
   
   do
   {
      if(fill)
      {
         LCD_Line(x-a, y+b, x+a, y+b);
         LCD_Line(x-a, y-b, x+a, y-b);
         LCD_Line(x-b, y+a, x+b, y+a);
         LCD_Line(x-b, y-a, x+b, y-a);
      }
      else
      {
         LCD_PutPixel(a+x, b+y, TextColor);
         LCD_PutPixel(b+x, a+y, TextColor);
         LCD_PutPixel(x-a, b+y, TextColor);
         LCD_PutPixel(x-b, a+y, TextColor);
         LCD_PutPixel(b+x, y-a, TextColor);
         LCD_PutPixel(a+x, y-b, TextColor);
         LCD_PutPixel(x-a, y-b, TextColor);
         LCD_PutPixel(x-b, y-a, TextColor);
      }
      
      if(P < 0)
      P+= 3 + 2*a++;
    else
      P+= 5 + 2*(a++ - b--);
     
  }while(a<=b);

}


Kodları STM32 & SSD1289 kütüphanemden aldım. Pic18'de daire çizmek istiyorum ama 45 derece çevrilmiş bir dikdörtgen çiziyor daire yerine. Daire çizmenin mantığı nedir? Neden köşeler yuvarlatılmıyor? Kodlardan birşey çıkartamadım

PROTECH_

Int32 int16 veri aktarimlarinda veya islemlerinde
" (Int32)variable "  olarak kullanmayi dene
Multi-Core ,RTX,ThreadX, FreeRTOS, MODBUS  RTOS - Electronic-Hardware -- BERLIN

Mucit23

Evet aklıma o durum geldi ama kodlarda da o konuda gözüme çarpan bir yer olmadı. Verilerin hemen hemen hepsi aynı tür