Picproje Elektronik Sitesi

DERLEYİCİLER => Microchip XC Serisi => Microchip XC8 => Konuyu başlatan: canbulut - 16 Mayıs 2015, 15:58:22

Başlık: uart sorunu
Gönderen: canbulut - 16 Mayıs 2015, 15:58:22
Merhaba arkadaslar,
Bu kodlar ile transmit yapamadım. Problem ne olabilir?

/*
* File:   Uart_TX.c
* Author: Bulut
*
* Created on 16 May?s 2015 Cumartesi, 10:29
*/


#include <xc.h>
#include "Config.h"
void main(void) {
   
// PIC16F628A Configuration Bit Settings

// 'C' source line config statements

//#include <xc.h>

// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.

// CONFIG
#pragma config FOSC = INTOSCCLK // Oscillator Selection bits (INTOSC oscillator: CLKOUT function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON      // RA5/MCLR/VPP Pin Function Select bit (RA5/MCLR/VPP pin function is digital input, MCLR internally tied to VDD)
#pragma config BOREN = ON       // Brown-out Detect Enable bit (BOD enabled)
#pragma config LVP = OFF        // Low-Voltage Programming Enable bit (RB4/PGM pin has digital I/O function, HV on MCLR must be used for programming)
#pragma config CPD = OFF        // Data EE Memory Code Protection bit (Data memory code protection off)
#pragma config CP = OFF         // Flash Program Memory Code Protection bit (Code protection off)


#define _XTAL_FREQ 4000000
    TRISA=0;
    PORTA=0;
    TRISB=0;
    PORTB=0;
    CMCON=7;
    TXSTAbits.BRGH=1;       // select low speed Baud Rate (see baud rate calcs below)
    TXSTAbits.TX9=0;        // select 8 data bits
    TXSTAbits.TXEN = 1;     // enable transmit
    TXSTAbits.SYNC=0;
    SPBRG=25;  // here is calculated value of SPBRGH and SPBRGL
void uart(void);
    while (1)
    {
         uart();
    }
}
void uart()
{
   while(!TXSTAbits.TRMT)    // make sure buffer full bit is high before transmitting
    TXREG ='M';
    return;
}

Başlık: Ynt: uart sorunu
Gönderen: Tagli - 16 Mayıs 2015, 17:01:41
İlk bakışta göze iki hata çarpıyor:

1) RCSTA.SPEN biti 1 yapılmamış. Seri port modülünün ana açma kapama anahtarı bu.
2) Seri port ile ilgili bacakların TRIS bitleri 1 olmalı. TX için de böyle, çıkış diye 0 olmayacak yani. Kulağa yanlış gibi geliyor ama datasheet'te böyle yazmış.

Başka hata var mı bilmiyorum, çok ayrıntılı bakmadım.
Başlık: Ynt: uart sorunu
Gönderen: canbulut - 16 Mayıs 2015, 17:50:22
dedikleriniz yaptım gelişme yok hocam.
Başlık: Ynt: uart sorunu
Gönderen: Tagli - 16 Mayıs 2015, 18:16:24
Şimdi bir tane daha gördüm: while(!TXSTAbits.TRMT) satırından sonra noktalı virgül olacak. Yani TXREG = 'm'; ifadesi döngünün bir parçası olmamalı. Döngünün amacı TRMT 0 olduğu sürece (ki bu gönderme işleminin devam ettiğini gösterir) boş boş dönüp beklemek.
Başlık: Ynt: uart sorunu
Gönderen: canbulut - 16 Mayıs 2015, 18:21:42
onuda düzelttim. bişeyler daha var kaçan ama.. ne :)

mesaj birleştirme:: 16 Mayıs 2015, 18:43:15

donanımı basic ile denedim sorun yok..xc8'de çalışmıyor. son hali asağıda
/*
* File:   Uart_TX.c
* Author: Bulut
*
* Created on 16 May?s 2015 Cumartesi, 10:29
*/


#include <xc.h>
//#include "Config.h"
void main(void) {

// PIC16F628A Configuration Bit Settings

// 'C' source line config statements

//#include <xc.h>

// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.

// CONFIG
#pragma config FOSC = INTOSCCLK // Oscillator Selection bits (INTOSC oscillator: CLKOUT function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON      // RA5/MCLR/VPP Pin Function Select bit (RA5/MCLR/VPP pin function is digital input, MCLR internally tied to VDD)
#pragma config BOREN = ON       // Brown-out Detect Enable bit (BOD enabled)
#pragma config LVP = OFF        // Low-Voltage Programming Enable bit (RB4/PGM pin has digital I/O function, HV on MCLR must be used for programming)
#pragma config CPD = OFF        // Data EE Memory Code Protection bit (Data memory code protection off)
#pragma config CP = OFF         // Flash Program Memory Code Protection bit (Code protection off)


#define _XTAL_FREQ 4000000
    TRISA=0;
    PORTA=0;
    TRISB=6;
    PORTB=0;
    CMCON=7;
    TXSTAbits.BRGH=1;       // select low speed Baud Rate (see baud rate calcs below)
    TXSTAbits.TX9=0;        // select 8 data bits
    TXSTAbits.TXEN = 1;     // enable transmit
    RCSTAbits.CREN=1;
    //OPTION_REGbits.nRBPU=0;
    TXSTAbits.SYNC=0;
    SPBRG=25;  // here is calculated value of SPBRGH and SPBRGL
void uartt(void);
    while (1)
    {
         uartt();
    }
}
void uartt()
{
   while(!TXSTAbits.TRMT);    // make sure buffer full bit is high before transmitting
    TXREG ='M';
    //return;
}



Başlık: Ynt: uart sorunu
Gönderen: Tagli - 16 Mayıs 2015, 20:31:18
İlk mesajımda bahsetmiş olduğum RCSTAbits.SPEN = 1; ifadesi vermiş olduğun son kodda bulunmuyor. Gözünden kaçmadığından emin misin?
Başlık: Ynt: uart sorunu
Gönderen: Pyrodigy - 17 Mayıs 2015, 00:47:00
Uart tx/rx pinlerini giriş yaptınmı ?
Başlık: Ynt: uart sorunu
Gönderen: mehmet - 17 Mayıs 2015, 01:17:14
Deneyiniz...

/*
* File:   main.c
* Author: mbmb
*
* Created on 17 Mayıs 2015 Pazar, 00:38
*/

#include <xc.h>


// CONFIG 16F628A
#pragma config FOSC = INTOSCCLK // Oscillator Selection bits (INTOSC oscillator: CLKOUT function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON      // RA5/MCLR/VPP Pin Function Select bit (RA5/MCLR/VPP pin function is digital input, MCLR internally tied to VDD)
#pragma config BOREN = ON       // Brown-out Detect Enable bit (BOD enabled)
#pragma config LVP = OFF        // Low-Voltage Programming Enable bit (RB4/PGM pin has digital I/O function, HV on MCLR must be used for programming)
#pragma config CPD = OFF        // Data EE Memory Code Protection bit (Data memory code protection off)
#pragma config CP = OFF         // Flash Program Memory Code Protection bit (Code protection off)


#define _XTAL_FREQ 4000000

void uartt(void);


void main(void)
{
    TRISA = 0;
    PORTA = 0;
    TRISB = 6;
    PORTB = 0;
    CMCON = 7;
    TXSTAbits.BRGH = 1;       // select low speed Baud Rate (see baud rate calcs below)
    TXSTAbits.TX9 = 0;        // select 8 data bits
    TXSTAbits.TXEN = 1;     // enable transmit
    RCSTAbits.CREN = 1;
    //OPTION_REGbits.nRBPU = 0;
    TXSTAbits.SYNC = 0;
    SPBRG = 25;  // here is calculated value of SPBRGH and SPBRGL


    while (1)
    {
         uartt();
    }
}


void uartt(void)
{
   while(!TXSTAbits.TRMT);    // make sure buffer full bit is high before transmitting
    TXREG = 'M';
}
Başlık: Ynt: uart sorunu
Gönderen: canbulut - 17 Mayıs 2015, 01:22:18
gerçektende spen bitini kaçırmışım şu anda çalışıyor. Teşekkürler arkadaşlar. teşekkürler Tagli hocam.
Başlık: Ynt: uart sorunu
Gönderen: mehmet - 17 Mayıs 2015, 01:52:16
Çalışan kodu ekleyebilirsiniz...
Başlık: Ynt: uart sorunu
Gönderen: canbulut - 17 Mayıs 2015, 01:54:37
peki bu gönderme işinde text halinde nasıl gönderirim. kendi library'mi mi kurmam gerekiyor paylaşılan bir yer var mı_?
yazarken mesajıınızı aldım mehmet hocam.asağıdaki kodu ekledim.
    RCSTAbits.SPEN=1;
Başlık: Ynt: uart sorunu
Gönderen: Tagli - 17 Mayıs 2015, 09:42:06
Text denen  şey arka arkaya sıralanmış ASCII karakterinden ibarettir. Sonlandığının anlaşılabilmesi için diznin sonunca \0 karakteri bulunur (ki bildiğin sıfırdır bu). Yani yapman gereken şey, yukarıda yaptığın işlemi bir döngü içinde dizinin tüm elemanları için tekrarlamak ve en son \0 karakterini gönderdikten sonra durmak.
Başlık: Ynt: uart sorunu
Gönderen: mehmet - 17 Mayıs 2015, 11:48:26
@canbulut; C yapısına biraz dikkat edebilirsiniz.
Başlık: Ynt: uart sorunu
Gönderen: canbulut - 23 Mayıs 2015, 14:29:58
aşağıdaki kodlar ile text şeklinde gönderebiliyorum ama rakam,sayı gönderemiyorum.

void xmitt(char TxArray[])   // An array that can hold 25 characters
{
  int b=0;
while (TxArray[b]!='\0')
{
   while(!TXSTAbits.TRMT);    // make sure buffer full bit is high before transmitting
   TXREG =TxArray[b];
   b++;
}
}
Başlık: Ynt: uart sorunu
Gönderen: Gökhan BEKEN - 23 Mayıs 2015, 15:56:03
void xmitt(char TxArray[])   // An array that can hold 25 characters
{
  int b=0;
while (TxArray[b]!='\0') // stringin sonuna gelene kadar döngü çalışır
{
   while(!TXSTAbits.TRMT);    // meşguliyet bitene kadar bekle
   TXREG =TxArray[b]; // stringin sıradaki karakterini gönder
   b++; //sırayı 1 artır
}
}


void xmittData(char TxArray[], unsigned int boyut)   // An array that can hold 25 characters
{
  int b=0;
while (boyut--) // sayac 0 olana kadar döngüyü dönder
{
   while(!TXSTAbits.TRMT);    // meşguliyet bitene kadar bekle
   TXREG =TxArray[b]; // stringin sıradaki karakterini gönder
   b++; //sırayı 1 artır
}
}


kullanım:

TxArray[0]=0xFF;
TxArray[1]=0x00;
TxArray[2]=0x15;
TxArray[3]=0x75;
xmittData(&TxArray[0], 4) // dizideki verilerden 4 tanesini gönder


stringler 0 ile bittiğinden sıfıra ulaşana kadar döngüyü döndeririz, fakat göndereceğiniz şey, sayısal data ise, adet belirtmeniz şart.
Başlık: Ynt: uart sorunu
Gönderen: canbulut - 23 Mayıs 2015, 18:04:26
hocam yazdığınız koddan bir şey anlayamadım maalesef. Verdiklerinize istinaden bir şey çıkardım fonksiyon dışında TxArray=75; tarzı tanımlarımı tanımsız olarak algıladı ve bana da biraz karmaşık geldi. ama istediğim şu şekilde tabi C yapısına uygun olmalı ve ben bunu yapamıyorum.

int Değişken=75;
xmit ("Veri:",Değişken,"Sayısını gönderdiniz.");//sonuçta istenilen bu.
Başlık: Ynt: uart sorunu
Gönderen: Tagli - 23 Mayıs 2015, 18:29:44
Belki sprintf ile degiskenleri yaziya cevirip ondan sonra yollayabilirsin. Ancak bu fonksiyon nedense cok yer istiyor program hafizasinda. Zamaninda yanlis hatirlamiyorsam PIC16F1826'da hafiza yetmedigi icin kullanamamistim ama yine de bir sansini dene bence.
Başlık: Ynt: uart sorunu
Gönderen: canbulut - 23 Mayıs 2015, 19:15:48
printf ile göndermek istediğimi nasıl birleştirebilirim?

mesaj birleştirme:: 24 Mayıs 2015, 19:30:04

örneksel sadece printf("Veri : %d",LowPeryot); kod ekledim %6dan %22ye çıktı. (harcanan)
Başlık: Ynt: uart sorunu
Gönderen: Tagli - 23 Mayıs 2015, 19:38:16
Tamam işte yukarıdaki mesajımda bahsettiğim sprintf aynı mantıkla o dediğin işi yapıyor.

Önce yeterli boyutta bir buffer tanımlıyorsun. Mesela char buffer[20];

Sonra sprintf(buffer, "Veri : %d", LowPeryot); çalıştırılınca yazı buffer dizisinin içine gitmiş oluyor. Sonunda da '\0' oluyor.

Bundan sonra normal şekilde yazı gönderdiğin gibi gönderebilirsin.
Başlık: Ynt: uart sorunu
Gönderen: canbulut - 23 Mayıs 2015, 19:47:44
az yer kaplayan nasıl yapacağız? Gökhan hocanın yazdığını tam olarak anlayamadım. anladığım gönderme fonksiyonu içinden yapacağımız.ama araya yazılar falan yazamıyorum galiba.sonuçta anlamadım :)
Başlık: Ynt: uart sorunu
Gönderen: Tagli - 23 Mayıs 2015, 19:58:30
Gökhan'ın bahsettiği başka, ham veri basmak için. Anladığım kadarıyla senin alıcı taraf zaten sadece yazı okuyacak şekilde. Bu durumda ham veri basmak senin işine yaramaz. Ham veri basmanın anlamlı olması için kendin bir kural (bir diğer deyişle protokol) belirlemeli ve hem alıcı hem verici tarafında işlemleri buna göre yapmalısın, bu bu çoğu durumda alıcı tarafında da kodu senin yazmanı gerektirir. Yazı göndermeye göre daha zor ama daha esnek ve daha hızlıdır.
Başlık: Ynt: uart sorunu
Gönderen: canbulut - 23 Mayıs 2015, 20:40:13
Alıntı yapılan: Tagli - 23 Mayıs 2015, 19:58:30
Gökhan'ın bahsettiği başka, ham veri basmak için. Anladığım kadarıyla senin alıcı taraf zaten sadece yazı okuyacak şekilde. Bu durumda ham veri basmak senin işine yaramaz. Ham veri basmanın anlamlı olması için kendin bir kural (bir diğer deyişle protokol) belirlemeli ve hem alıcı hem verici tarafında işlemleri buna göre yapmalısın, bu bu çoğu durumda alıcı tarafında da kodu senin yazmanı gerektirir. Yazı göndermeye göre daha zor ama daha esnek ve daha hızlıdır.
ben bu işlemleri basicte şu şekilde yapıyordum Hserout["Veri:",Dec Veri,"sayısı gitmiştir.",13] şeklindeydi. şimdi bu yüzden C zorluyor.
Başlık: Ynt: uart sorunu
Gönderen: Tagli - 23 Mayıs 2015, 21:09:16
XC8'de bir sanki bir sekilde printf kullanmak da mumkundu ama seri iletisim icin senin ismi belli olan bir fonksiyonu doldurman gerekiyordu. Fonksiyon putc gibi bir seydi. Derleyici dokumaninda bunun nasil yapildigi anlatiliyordu.
Başlık: Ynt: uart sorunu
Gönderen: canbulut - 23 Mayıs 2015, 21:21:47
şöyle bir şey buldum
/*****************************
Dependencies:   xc.h, stdio.h
Processor:      PIC16F1824
Complier:       XC8 v1.00 or higher
Result: Prints to the UART1 Window of the IDE
Debugger: Simulator
*****************************/
void putch(unsigned char byte)
{
    TXSTA=0x26;
    RCSTAbits.SPEN=1;
    TXREG=byte;
    while(!TXIF)continue;
    TXIF=0;
}
Başlık: Ynt: uart sorunu
Gönderen: Gökhan BEKEN - 23 Mayıs 2015, 22:21:41
Ben başka bişeyden bahsetmiştim.

int Degisken=75;
xmit ("Veri:");
if(Degisken>=100){
   xmit ((Degisken/100)+48); //yuzler basamagi
   xmit (((Degisken%100)-(Degisken%10))+48); //onlar basamagi
   xmit ((Degisken%10)+48); // birler basamagi
}
else if(Degisken>=10 && Degisken<100){
   xmit ((Degisken-(Degisken%10))+48); //onlar basamagi
   xmit ((Degisken%10)+48); // birler basamagi
}else{
   xmit (5+48); // birler
}
xmit ("Sayısını gönderdiniz.");
Başlık: Ynt: uart sorunu
Gönderen: canbulut - 23 Mayıs 2015, 22:27:42
Alıntı yapılan: Gökhan BEKEN - 23 Mayıs 2015, 22:21:41
Ben başka bişeyden bahsetmiştim.

int Degisken=75;
xmit ("Veri:");
if(Degisken>=100){
   xmit ((Degisken/100)+48); //yuzler basamagi
   xmit (((Degisken%100)-(Degisken%10))+48); //onlar basamagi
   xmit ((Degisken%10)+48); // birler basamagi
}
else if(Degisken>=10 && Degisken<100){
   xmit ((Degisken-(Degisken%10))+48); //onlar basamagi
   xmit ((Degisken%10)+48); // birler basamagi
}else{
   xmit (5+48); // birler
}
xmit ("Sayısını gönderdiniz.");

nasıl bir işlem var burda Gökhan hocam.daha büyük sayılarıda içerir mi?
Başlık: Ynt: uart sorunu
Gönderen: Gökhan BEKEN - 23 Mayıs 2015, 22:35:45
3 basamaklı sayılar için yazdım, doğruluğunu test etmedim, kafadan yazdım.
İsterseniz basamak sayısını artırmak için yeni if'ler ekleyebilirsiniz.
Çeşitli yöntemlerle yapabilirsiniz.
http://www.ckodu.com/ornek/201-basamak-degeri-c.html (http://www.ckodu.com/ornek/201-basamak-degeri-c.html)

Yalnız benim yazdığım kodda can alıcı nokta 48 sayısıdır. 0 sayısını ascii olarak yazdırmak için 48 olarak göndermeniz gerekir.
1 sayısı için 49, 9 için 57...
Başlık: Ynt: uart sorunu
Gönderen: canbulut - 23 Mayıs 2015, 22:40:41
bununla harcanan flash kapasitesi %25lere çıktı.programda gördüğüm veri şuVeri:???????????????????????????????????????????????????????????Say?s?n? g?nderdiniz. madem çevirmede bu kadar yer kaplayacaksa printf gibi bir fonksiyonla daha rahat hemde anlaşılır olacağını düşünüyorum. printf gibi bir fonksiyonla gönderme şeklini nasıl kullanabilirim.

mesaj birleştirme:: 24 Mayıs 2015, 00:01:07

printf ("Veri: %d",Degisken," sayısını gönderdiniz."); bu kodu uart TX ile nasıl birleştirebilirim.
Başlık: Ynt: uart sorunu
Gönderen: canbulut - 24 Mayıs 2015, 01:25:57
arkadaslar xc8'de integer sayı uarttan nasıl gönderilir? mesela artan bir sayı olsun. i++; her artışta 250msde bir i artacak ve uarttan gönderecek.ta ki sayı 1000 olana kadar.
Başlık: Ynt: uart sorunu
Gönderen: Gökhan BEKEN - 24 Mayıs 2015, 02:34:28
öyle uzun uzun yazmasının sebebi, xmit fonksiyonun içeriğinde olan şeyler yüzünden.
Ben senin yazdığın koda göre yazdım.
xmit yerine 1 byte'lık veri gönderen bir fonksiyon ismi yazman gerkir.
mesela "putc" olabilir.


Alıntı yapılan: canbulut - 24 Mayıs 2015, 01:25:57
arkadaslar xc8'de integer sayı uarttan nasıl gönderilir? mesela artan bir sayı olsun. i++; her artışta 250msde bir i artacak ve uarttan gönderecek.ta ki sayı 1000 olana kadar.
xc8 veya dünyanın herhangi bir derleyicisi veya dili ile, usarttan tek seferde gönderebileceğin maksimum sayı 255'dir. Daha fazla gönderemezsin.

Sen amacını yaz, string olarak mı almak istiyorsun?
Başlık: Ynt: uart sorunu
Gönderen: Klein - 24 Mayıs 2015, 03:21:43
printf(...) fonksiyonlarının  kısıtlanmış versiyonu kütüphane içinde var olabilir. Kısıtlanmış versiyonda floating point çevirimler  olmadığı için daha az yer kaplar. Belki kısıtlı sürümü kullanabileceğin bir derleyici yönergesi vardır.
Başlık: Ynt: uart sorunu
Gönderen: canbulut - 24 Mayıs 2015, 10:50:15
Alıntı yapılan: Klein - 24 Mayıs 2015, 03:21:43
printf(...) fonksiyonlarının  kısıtlanmış versiyonu kütüphane içinde var olabilir. Kısıtlanmış versiyonda floating point çevirimler  olmadığı için daha az yer kaplar. Belki kısıtlı sürümü kullanabileceğin bir derleyici yönergesi vardır.

değerli hocam önerinizle denediğim kod %6dan, %18lere çıktı. bu normaldir değilmi?
Alıntı yapılan: Klein - 24 Mayıs 2015, 03:21:43
printf(...) fonksiyonlarının  kısıtlanmış versiyonu kütüphane içinde var olabilir. Kısıtlanmış versiyonda floating point çevirimler  olmadığı için daha az yer kaplar. Belki kısıtlı sürümü kullanabileceğin bir derleyici yönergesi vardır.

aklımada karpuz kabuğu düştü haliyle.yukarıdakini halletmiş olsam float point yapmak istesem nasıl göndereceğim?
Başlık: Ynt: uart sorunu
Gönderen: Klein - 24 Mayıs 2015, 16:49:54
%6 ile %18 arasınaki %10'luk fark kaç Kilobyte program belleğini ifade ediyor?
printf(...) fonksiyonlarını kullanırken %6  , kısıtlı versiyon kullanınca mı %18 oldu?

integer için itoa(...) ve float için ftoa(...)  fonksiyonlarını deneyebilirsiniz. printf(...)  fonksiyonlarından daha az yer kaplaması muhtemel.
Başlık: Ynt: uart sorunu
Gönderen: canbulut - 24 Mayıs 2015, 22:50:33
Alıntı yapılan: Klein - 24 Mayıs 2015, 16:49:54
%6 ile %18 arasınaki %10'luk fark kaç Kilobyte program belleğini ifade ediyor?
printf(...) fonksiyonlarını kullanırken %6  , kısıtlı versiyon kullanınca mı %18 oldu?

integer için itoa(...) ve float için ftoa(...)  fonksiyonlarını deneyebilirsiniz. printf(...)  fonksiyonlarından daha az yer kaplaması muhtemel.
kullanımlarım hep kısıtlı hocam.normal gönderim (tx) yaparken Program Space yazan yer %6 iken printf ile %18lere çıktı. bu çok problem değilse printf'li gönderim tarzını hep kullanabilirim. eğer çok yer kaplamışsa başka alternatif yollar varsa denemeliyim.
Başlık: Ynt: uart sorunu
Gönderen: Klein - 25 Mayıs 2015, 00:55:07
printf için kullanılan  %12 sizin için sorun değilse. Yani programın geri kalanı %82'lik kısma sığacaksa sorun olmaz. %12 sizin ipinizde kaç KByte hafıza bölgesine denk gelir bilmiyorum. ama gözüme ok büyük görünmedi. Bence sorun yok. Eğer programın ilerleyen aşamalarınds yer sıkıntısı yaşarsanız, o zaman kodu kısaltmayı düşünürsünüz.
Başlık: Ynt: uart sorunu
Gönderen: canbulut - 25 Mayıs 2015, 10:47:47
hocam kısıtlı ve kısıtlı olmayan XC ürünlerinin farkını açık açık nereden karşılaştırabiliriz?
Başlık: Ynt: uart sorunu
Gönderen: Gökhan BEKEN - 25 Mayıs 2015, 10:53:46
En önemli fark, ram ve flash kullanımı. Derledikten sonra, ürettiği dosyanın boyutunu vs gösteriyor, ordan karşılaştırabilirsiniz.
Başlık: Ynt: uart sorunu
Gönderen: canbulut - 25 Mayıs 2015, 13:09:14
-
karşılaştırmayı bir yerde açıkça incelemek gerekir buna free olanıda dahil.
Başlık: Ynt: uart sorunu
Gönderen: Gökhan BEKEN - 25 Mayıs 2015, 13:20:39
http://www.microchip.com/pagehandler/en_us/devtools/mplabxc/ (http://www.microchip.com/pagehandler/en_us/devtools/mplabxc/)